Compatibilidad con el parámetro prompt=login de Servicios de federación de Active Directory

En el siguiente documento se describe la compatibilidad nativa con el parámetro prompt=login que está disponible en AD FS.

¿Qué es prompt=login?

Cuando las aplicaciones necesitan solicitar una autenticación nueva desde Microsoft Entra ID, lo que significa que necesitan Microsoft Entra ID para volver a autenticar al usuario aunque el usuario ya se haya autenticado, pueden enviar el parámetro prompt=login a Microsoft Entra ID como parte de la solicitud de autenticación.

Cuando esta solicitud es para un usuario federado, Microsoft Entra ID debe informar al IdP, como AD FS, de que la solicitud es para la autenticación nueva.

De manera predeterminada, Microsoft Entra ID traduce prompt=login en wfresh=0 y wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password al enviar este tipo de solicitudes de autenticación al IdP federado.

Estos parámetros significan:

  • wfresh=0: realizar una autenticación nueva
  • wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password: use el nombre de usuario y la contraseña para la solicitud de autenticación nueva

Esto puede causar problemas con escenarios de intranet corporativa y autenticación multifactor en los que se desea un tipo de autenticación distinto del nombre de usuario y la contraseña, según lo solicitado por el parámetro wauth.

AD FS en Windows Server 2012 R2 con el paquete acumulativo de actualizaciones de julio de 2016 introdujo compatibilidad nativa con el parámetro prompt=login. Esto significa que ahora Microsoft Entra ID puede enviar este parámetro tal como está al servicio de AD FS como parte de las solicitudes de autenticación de Microsoft Entra ID y Office 365.

Versiones de AD FS que admiten prompt=login

A continuación se muestra una lista de versiones de AD FS que admiten el parámetro prompt=login.

  • AD FS en Windows Server 2012 R2 con el paquete acumulativo de actualizaciones de julio de 2016
  • AD FS en Windows Server 2016 o posterior

Configuración de un dominio federado para enviar prompt=login a AD FS

Use el módulo de PowerShell de Microsoft Graph para ajustar la opción de configuración.

  1. En primer lugar, obtenga los valores actuales de FederatedIdpMfaBehavior, PreferredAuthenticationProtocoly PromptLoginBehavior para el dominio federado mediante la ejecución del siguiente comando de PowerShell:

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

    Nota

    La salida de Get-MgDomainFederationConfiguration de forma predeterminada no muestra determinadas propiedades en la consola. Para ver todas las propiedades debe canalizar (|) su salida a Format-List * para forzar la salida de todas las propiedades del objeto.

    Si el valor de la propiedad PromptLoginBehavior está vacío ($null), se usa el comportamiento de TranslateToFreshPasswordAuth.

  2. Configure el valor deseado de PromptLoginBehavior mediante la ejecución del comando siguiente:

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

A continuación se muestran los valores posibles del parámetro PromptLoginBehavior y su significado:

  • TranslateToFreshPasswordAuth: significa el comportamiento predeterminado de Microsoft Entra de traducir prompt=login a wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password y wfresh=0.
  • NativeSupport: significa que el parámetro prompt=login se enviará tal como está a AD FS. Este es el valor recomendado si AD FS está en Windows Server 2012 R2 con el paquete acumulativo de actualizaciones de julio de 2016 o superior.
  • Deshabilitado: significa que solo wfresh=0 se envía a AD FS.