Klientautentiseringsuppgifter i MSAL Java

Det finns tre typer av klienthemligheter i MSAL4J:

  • Programhemligheter
  • Certifikat
  • Klientintyg

Klientautentiseringsuppgifter med programhemlighet i MSAL4J

Under registreringen av ett konfidentiellt klientprogram med Microsoft Entra ID genereras en klienthemlighet (ett slags programlösenord). När klienten vill hämta en token i sitt eget namn kommer den att:

  • Skapa IClientCredential med hjälp av ClientCredentialFactoryoch skicka in klienthemligheten, som ska vara en sträng.
String CLIENT_SECRET; 
IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET)

Klientautentiseringsuppgifter med certifikat

I det här fallet, när programmet är registrerat med Microsoft Entra ID, laddar det upp den offentliga nyckeln för ett certifikat. När den vill hämta en token kommer klientprogrammet att

  • Skapa IClientCredential med hjälp av ClientCredentialFactory genom att skicka in antingen både den offentliga och den privata nyckeln eller en InputStream för PKCS12
PrivateKey privateKey;  
X509Certificate publicKey;  
IClientCredential credential = ClientCredentialFactory.createFromCertificate(privateKey, publicKey)

eller

InputStream inputStream;  
String password;  
IClientCredential credential = ClientCredentialFactory.create(inputStream, password)
  • Sedan skapar du ett konfidentiellt klientprogram och skickar in klientens autentiseringsuppgifter.
ConfidentialClientApplication app =
                    ConfidentialClientApplication.builder(
                        CLIENT_ID,
                        credential)
                .build();