Clientanmeldeinformationen in MSAL-Java

Es gibt drei Arten von geheimen Clientschlüsseln in MSAL4J:

  • Anwendungsgeheimnisse
  • Zertifikate
  • Client assertionen

Clientanmeldeinformationen mit Anwendungsgeheimnis in MSAL4J

Während der Registrierung einer vertraulichen Clientanwendung mit Microsoft Entra ID wird ein geheimer Clientschlüssel generiert (eine Art Anwendungskennwort). Wenn der Client ein Token in seinem eigenen Namen erwerben möchte, erhält er Folgendes:

  • Erstellen Sie IClientCredential mit ClientCredentialFactory, wobei Sie das Client-Secret übergeben, das eine Zeichenfolge sein sollte.
String CLIENT_SECRET; 
IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET)

Clientanmeldeinformationen mit Zertifikat

Wenn die Anwendung in diesem Fall bei Microsoft Entra ID registriert ist, lädt sie den öffentlichen Schlüssel eines Zertifikats hoch. Wenn die Clientanwendung ein Token abrufen möchte, wird sie

  • Erstellen Sie IClientCredential mit ClientCredentialFactory, indem Sie entweder sowohl den öffentlichen als auch den privaten Schlüssel oder einen InputStream der PKCS#12-Datei übergeben.
PrivateKey privateKey;  
X509Certificate publicKey;  
IClientCredential credential = ClientCredentialFactory.createFromCertificate(privateKey, publicKey)

oder

InputStream inputStream;  
String password;  
IClientCredential credential = ClientCredentialFactory.create(inputStream, password)
  • Anschließend erstellen Sie eine vertrauliche Clientanwendung und übergeben die Clientanmeldeinformationen.
ConfidentialClientApplication app =
                    ConfidentialClientApplication.builder(
                        CLIENT_ID,
                        credential)
                .build();