Учетные данные клиента в MSAL Java

Существует три типа секретов клиента в MSAL4J:

  • Секреты приложений
  • Certificates
  • Утверждения клиента

Учетные данные клиента с секретом приложения в MSAL4J

Во время регистрации конфиденциального клиентского приложения с Microsoft Entra ID создается секрет клиента (тип пароля приложения). Когда клиент хочет получить токен от своего имени, он:

  • Создайте IClientCredential с помощью ClientCredentialFactory, передав секрет клиента, который должен быть строкой.
String CLIENT_SECRET; 
IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET)

Учетные данные клиента с сертификатом

В этом случае, когда приложение зарегистрировано в Microsoft Entra ID, оно отправляет открытый ключ сертификата. Когда клиентское приложение хочет получить токен, оно будет

  • Создайте IClientCredential с помощью ClientCredentialFactory, передав либо оба ключа — публичный и приватный, либо InputStream для PKCS12
PrivateKey privateKey;  
X509Certificate publicKey;  
IClientCredential credential = ClientCredentialFactory.createFromCertificate(privateKey, publicKey)

или

InputStream inputStream;  
String password;  
IClientCredential credential = ClientCredentialFactory.create(inputStream, password)
  • Затем вы создадите конфиденциальное клиентское приложение и передайте учетные данные клиента.
ConfidentialClientApplication app =
                    ConfidentialClientApplication.builder(
                        CLIENT_ID,
                        credential)
                .build();