Suporte ao parâmetro prompt=login dos Serviços de Federação do Active Directory (AD FS)

O documento a seguir descreve o suporte nativo para o parâmetro prompt=login que está disponível no AD FS.

O que é prompt=login?

Quando os aplicativos precisam solicitar uma nova autenticação do Microsoft Entra ID, o que significa que eles precisam do Microsoft Entra ID para autenticar novamente o usuário mesmo que o usuário já tenha sido autenticado, eles podem enviar o parâmetro prompt=login para o Microsoft Entra ID como parte da solicitação de autenticação.

Quando essa solicitação é para um usuário federado, o Microsoft Entra ID precisa informar o IdP, como o AD FS, que a solicitação é para autenticação nova.

Por padrão, o Microsoft Entra ID converte prompt=login em wfresh=0 e wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password ao enviar esse tipo de solicitações de autenticação para o IdP federado.

Esses parâmetros significam:

  • wfresh=0: fazer autenticação nova
  • wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password: usar nome de usuário/senha para a nova solicitação de autenticação

Isso pode causar problemas com cenários de intranet corporativa e autenticação multifator em que um tipo de autenticação diferente do nome de usuário e da senha, conforme solicitado pelo wauth parâmetro, é desejado.

O AD FS no Windows Server 2012 R2 com o pacote cumulativo de atualizações de julho de 2016 introduziu o suporte nativo para o parâmetro prompt=login. Isso significa que agora o Microsoft Entra ID pode enviar esse parâmetro como está para o serviço do AD FS como parte das solicitações de autenticação do Microsoft Entra ID e do Office 365.

Versões do AD FS compatíveis com prompt=login

Veja a seguir uma lista de versões do AD FS compatíveis com o parâmetro prompt=login.

  • AD FS no Windows Server 2012 R2 com o pacote cumulativo de atualizações de julho de 2016
  • AD FS no Windows Server 2016 ou posterior

Como configurar um domínio federado para enviar prompt=login ao AD FS

Use o módulo Microsoft Graph PowerShell para definir a configuração.

  1. Primeiro, obtenha os valores atuais de FederatedIdpMfaBehavior, PreferredAuthenticationProtocol e PromptLoginBehavior para o domínio federado executando o seguinte comando do PowerShell:

    Get-MgDomainFederationConfiguration -DomainId <your_domain_name> | Format-List *
    

    Observação

    A saída de Get-MgDomainFederationConfiguration por padrão não exibe determinadas propriedades no console. Para exibir todas as propriedades, você deve redirecionar (|) sua saída para Format-List * para forçar a saída de todas as propriedades do objeto.

    Se o valor da propriedade PromptLoginBehavior estiver vazio ($null), o comportamento de TranslateToFreshPasswordAuth será usado.

  2. Configure o valor desejado de PromptLoginBehavior executando o seguinte comando:

    New-MgDomainFederationConfiguration -DomainId <your_domain_name> `
       -FederatedIdpMfaBehavior <current_value_from_step1> `
       -PreferredAuthenticationProtocol <current_value_from_step1> `
       -PromptLoginBehavior <TranslateToFreshPasswordAuth|NativeSupport|Disabled>
    

A seguir, estão os valores possíveis do parâmetro PromptLoginBehavior e seu significado:

  • TranslateToFreshPasswordAuth: significa o comportamento padrão do Microsoft Entra de converter prompt=login em wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password e wfresh=0.
  • NativeSupport: significa que o parâmetro prompt=login será enviado como está para o AD FS. Esse será o valor recomendado se o AD FS estiver no Windows Server 2012 R2 com o pacote cumulativo de atualizações de julho de 2016 ou superior.
  • Disabled: significa que só wfresh=0 é enviado para o AD FS.