Suporte ao ADFS

Serviços de Federação do Active Directory (AD FS) (AD FS) em Windows Server permite adicionar autenticação e autorização baseadas em OpenID Connect e OAuth 2.0 a aplicativos que você está desenvolvendo. Esses aplicativos podem autenticar usuários diretamente no AD FS. Para obter mais informações, leia cenários do AD FS para desenvolvedores.

Geralmente, há duas maneiras de autenticar no AD FS:

  • A MSAL conecta-se ao Microsoft Entra ID, que, em seguida, é federado ao AD FS.
  • O MSAL conecta-se diretamente a uma autoridade do AD FS.

O MSAL4J dá suporte a esses dois fluxos.

A MSAL conecta-se ao Microsoft Entra ID, que, em seguida, federa ao AD FS

O MSAL4J dá suporte à conexão com Microsoft Entra ID, que conecta usuários gerenciados (usuários gerenciados em Microsoft Entra ID) ou usuários federados (usuários gerenciados por outro provedor de identidade, como o AD FS). O MSAL4J não sabe o fato de que os usuários são federados. Nesse caso, a comunicação ocorre com o Microsoft Entra ID.

A autoridade que você usa nesse caso é a autoridade usual (nome do host da autoridade + locatário, comum ou organizações).

Adquirir um token interativamente para usuários federados

Quando você chama AcquireToken com AuthorizationCodeParameters ou DeviceCodeParameters, a experiência do usuário normalmente é:

  1. O usuário insere a ID da conta.
  2. Microsoft Entra ID exibe brevemente a mensagem "Levando você para a página da sua organização". O usuário é redirecionado para a página de entrada do provedor de identidade. A página de entrada geralmente é personalizada com o logotipo da organização.
  3. As versões do AD FS com suporte neste cenário federado são AD FS v2, AD FS v3 (Windows Server 2012 R2) e AD FS v4 (AD FS 2016).

O MSAL se conecta diretamente a uma autoridade do AD FS

O MSAL4J fornece suporte para autenticação direta com o AD FS 2019. Nesse caso, você pode fornecer a URL de autoridade específica do ADFS ao MSAL4J ao inicializar o cliente. O valor da autoridade deve ser algo como https://adfs.contoso.com/adfs.

Obter um token usando AcquireToken com IntegratedWindowsAuthenticationParameters ou UsernamePasswordParameters

Ao obter um token usando AcquireToken com IntegratedWindowsAuthenticationParameters ou UsernamePasswordParameters, o MSAL4J obtém o provedor de identidade a ser contatado com base no nome de usuário informado. O MSAL4J recebe um token SAML depois de entrar em contato com o provedor de identidade. O MSAL4J então fornece o token SAML para o Microsoft Entra ID como uma asserção do usuário (semelhante ao fluxo On-Behalf-Of) para obter um JWT.