Prise en charge du paramètre prompt=login des services de fédération Active Directory (AD FS)

Le document suivant décrit la prise en charge native du paramètre prompt=login disponible dans AD FS.

Qu’est-ce que prompt=login ?

Lorsque les applications doivent demander une nouvelle authentification auprès Microsoft Entra ID, ce qui signifie qu'elles ont besoin Microsoft Entra ID pour authentifier de nouveau l'utilisateur même si l'utilisateur a déjà été authentifié, elles peuvent envoyer le paramètre prompt=login à Microsoft Entra ID dans le cadre de la demande d'authentification.

Lorsque cette demande concerne un utilisateur fédéré, Microsoft Entra ID doit informer le fournisseur d'identité, comme AD FS, que la demande concerne une nouvelle authentification.

Par défaut, Microsoft Entra ID traduit prompt=login en wfresh=0 et wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password lors de l'envoi de ce type de demandes d'authentification au fournisseur d'identité fédéré.

Ces paramètres signifient :

  • wfresh=0 : effectuer une nouvelle authentification
  • wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password : utiliser le nom d’utilisateur/mot de passe pour la nouvelle demande d’authentification

Cela peut entraîner des problèmes avec l’intranet d’entreprise et les scénarios d’authentification multifacteur dans lesquels un type d’authentification autre que le nom d’utilisateur et le mot de passe, comme demandé par le paramètre wauth, est souhaité.

AD FS dans Windows Server 2012 R2 avec le correctif cumulatif de juillet 2016 a introduit la prise en charge native du paramètre prompt=login. Cela signifie que Microsoft Entra ID peut désormais envoyer ce paramètre en l'état au service AD FS dans le cadre des demandes d'authentification Microsoft Entra ID et Office 365.

Versions d’AD FS qui prennent en charge prompt=login

Voici une liste des versions d’AD FS qui prennent en charge le paramètre prompt=login.

  • AD FS dans Windows Server 2012 R2 avec le correctif cumulatif de juillet 2016
  • AD FS dans Windows Server 2016 ou version ultérieure

Comment configurer un domaine fédéré pour envoyer prompt=login à AD FS

Utilisez le module Microsoft Graph PowerShell pour configurer le paramètre.

  1. Commencez par obtenir les valeurs actuelles de FederatedIdpMfaBehavior, PreferredAuthenticationProtocol et PromptLoginBehavior pour le domaine fédéré en exécutant la commande PowerShell suivante :

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

    Notes

    La sortie de Get-MgDomainFederationConfiguration par défaut n’affiche pas certaines propriétés dans la console. Pour afficher toutes les propriétés, vous devez diriger (|) sa sortie vers Format-List * pour forcer la sortie de toutes les propriétés de l’objet.

    Si la valeur de la propriété PromptLoginBehavior est vide ($null), le comportement de TranslateToFreshPasswordAuth est utilisé.

  2. Configurez la valeur souhaitée de PromptLoginBehavior en exécutant la commande suivante :

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

Voici les valeurs possibles du paramètre PromptLoginBehavior et leur signification :

  • TranslateToFreshPasswordAuth : désigne le comportement Microsoft Entra par défaut de la traduction de prompt=login vers wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password et wfresh=0.
  • NativeSupport : signifie que le paramètre prompt=login sera envoyé tel quel à AD FS. Il s’agit du comportement recommandé si AD FS réside dans Windows Server 2012 R2 avec le correctif cumulatif de juillet 2016 ou version ultérieure.
  • Désactivé : signifie que seul wfresh=0 est envoyé à AD FS.