Credenciais do cliente em Java MSAL

Existem três tipos de segredos de cliente no MSAL4J:

  • Segredos da Aplicação
  • Certificados
  • Alegações do cliente

Credenciais de Cliente com o segredo da aplicação no MSAL4J

Durante o registo da aplicação cliente confidencial com o Microsoft Entra ID, é gerado um segredo do cliente (uma espécie de palavra-passe de aplicação). Quando o cliente quiser adquirir um token em seu próprio nome, este irá:

  • Crie IClientCredential utilizando ClientCredentialFactory, passando o segredo do cliente, que deve ser uma string.
String CLIENT_SECRET; 
IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET)

Credenciais do Cliente com certificado

Neste caso, quando a aplicação está registada com o Microsoft Entra ID, carrega a chave pública de um certificado. Quando quiser adquirir um token, a aplicação cliente irá

  • Crie IClientCredential usando o ClientCredentialFactory, passando tanto as chaves públicas como privadas, ou um InputStream do pkcs12
PrivateKey privateKey;  
X509Certificate publicKey;  
IClientCredential credential = ClientCredentialFactory.createFromCertificate(privateKey, publicKey)

ou

InputStream inputStream;  
String password;  
IClientCredential credential = ClientCredentialFactory.create(inputStream, password)
  • Em seguida, criaria uma aplicação cliente confidencial e forneceria a credencial do cliente.
ConfidentialClientApplication app =
                    ConfidentialClientApplication.builder(
                        CLIENT_ID,
                        credential)
                .build();