Applicazioni client

Creare un'istanza di un'applicazione

Pre-requisites

Prima di inizializzare la tua app con MSAL4J:

  1. Informazioni sui tipi di applicazioni client disponibili: client pubblico e applicazioni client riservate.
  2. È necessario registrare l'applicazione con Microsoft Entra ID. Si saprà quindi:
    • Oggetto clientID (stringa che rappresenta un GUID)
    • L'URL del provider di identità (denominato l'istanza) e il gruppo di destinatari di accesso per l'applicazione. Questi due parametri sono noti collettivamente come autorità.
    • Forse nel caso TenantID in cui si stia scrivendo un'applicazione aziendale (solo per la propria organizzazione, detta anche applicazione a tenant singolo)
    • Nel caso in cui si tratti di un'app client riservata, del segreto dell'applicazione (clientSecret stringa) o del certificato
    • Per le applicazioni Web, dovrai anche impostare redirectUri, dove il provider di identità reindirizzerà la tua applicazione con i token di sicurezza.

Creare un'istanza di un'applicazione client pubblica

String PUBLIC_CLIENT_ID;
String AUTHORITY;

PublicClientApplication app = 
    PublicClientApplication
        .builder(PUBLIC_CLIENT_ID)
        .authority(AUTHORITY)
        .build();

Creare un'applicazione client riservata

Sarà necessario un segreto o un certificato, come descritto in Credenziali client.

Se si dispone di un segreto:

String PUBLIC_CLIENT_ID;
String AUTHORITY;
String CLIENT_SECRET;

IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET);
ConfidentialClientApplication app = 
    ConfidentialClientApplication
        .builder(PUBLIC_CLIENT_ID, credential)
        .authority(AUTHORITY)
        .build();

Se si dispone di un certificato:

String PUBLIC_CLIENT_ID;
String AUTHORITY;
PrivateKey PRIVATE_KEY;  
X509Certificate PUBLIC_KEY;

IClientCredential credential = ClientCredentialFactory.createFromCertificate(PRIVATE_KEY, PUBLIC_KEY);
ConfidentialClientApplication app = 
    ConfidentialClientApplication
        .builder(PUBLIC_CLIENT_ID, credential)
        .authority(AUTHORITY)
        .build();