Credenziali del client in MSAL Java

In MSAL4J sono disponibili tre tipi di segreti client:

  • Segreti dell'applicazione
  • Attestati
  • Asserzioni del client

Credenziali client con segreto dell'applicazione in MSAL4J

Durante la registrazione di un'applicazione client riservata con Microsoft Entra ID, viene generato un segreto client (una sorta di password dell'applicazione). Quando il client vuole ottenere un token a proprio nome, farà quanto segue:

  • Creare IClientCredential usando ClientCredentialFactory, passando il segreto client, che deve essere una stringa.
String CLIENT_SECRET; 
IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET)

Credenziali client con certificato

In questo caso, quando l'applicazione viene registrata con Microsoft Entra ID, carica la chiave pubblica di un certificato. Quando vorrà acquisire un token, l'applicazione client

  • Creare IClientCredential usando ClientCredentialFactory, passando entrambe le chiavi, pubblica e privata, oppure un InputStream del PKCS12
PrivateKey privateKey;  
X509Certificate publicKey;  
IClientCredential credential = ClientCredentialFactory.createFromCertificate(privateKey, publicKey)

o

InputStream inputStream;  
String password;  
IClientCredential credential = ClientCredentialFactory.create(inputStream, password)
  • Si creerebbe quindi un'applicazione client riservata e si passerebbero le credenziali client.
ConfidentialClientApplication app =
                    ConfidentialClientApplication.builder(
                        CLIENT_ID,
                        credential)
                .build();