Supporto del parametro prompt=login di Active Directory Federation Services

Il documento seguente descrive il supporto nativo per il parametro prompt=login disponibile in AD FS.

Che cos'è prompt=login?

Quando le applicazioni devono richiedere una nuova autenticazione dall'ID Microsoft Entra, ovvero hanno bisogno dell'ID Microsoft Entra per autenticare nuovamente l'utente anche se l'utente è già stato autenticato, possono inviare il parametro prompt=login all'ID Microsoft Entra come parte della richiesta di autenticazione.

Quando questa richiesta è per un utente federato, l'ID Microsoft Entra deve informare l'IdP, ad esempio AD FS, che la richiesta è per una nuova autenticazione.

Per impostazione predefinita, l'ID Microsoft Entra viene convertito prompt=login in wfresh=0 e wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password quando si invia questo tipo di richieste di autenticazione all'IdP federato.

Questi parametri significano:

  • wfresh=0: eseguire una nuova autenticazione
  • wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password: usare nome utente/password per la nuova richiesta di autenticazione

Ciò può causare problemi in caso di scenari di intranet aziendale e di autenticazione a più fattori in cui è necessario un tipo di autenticazione diverso da nome utente e password, come richiesto dal parametro wauth.

AD FS in Windows Server 2012 R2 con l'aggiornamento cumulativo di luglio 2016 ha introdotto il supporto nativo per il parametro prompt=login. Ciò significa che ora l'ID Microsoft Entra può inviare questo parametro così com'è al servizio AD FS come parte dell'ID Microsoft Entra e delle richieste di autenticazione di Office 365.

Versioni di AD FS che supportano prompt=login

Di seguito è riportato un elenco di versioni di AD FS che supportano il parametro prompt=login.

  • AD FS in Windows Server 2012 R2 con l'aggiornamento cumulativo di luglio 2016
  • AD FS in Windows Server 2016 o versione successiva

Come configurare un dominio federato per inviare prompt=login ad AD FS

Usa il modulo Microsoft Graph PowerShell module per configurare l'impostazione.

  1. Ottenere prima di tutto i valori correnti di FederatedIdpMfaBehavior, PreferredAuthenticationProtocol e PromptLoginBehavior per il dominio federato eseguendo il comando di PowerShell seguente:

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

    Nota

    L'output di Get-MgDomainFederationConfiguration per impostazione predefinita non visualizza determinate proprietà nella console. Per visualizzare tutte le proprietà, è necessario reindirizzare (|) il relativo output a Format-List * per forzare l'output di tutte le proprietà dell'oggetto.

    Se il valore della proprietà PromptLoginBehavior è vuoto ($null) viene utilizzato il comportamento di TranslateToFreshPasswordAuth.

  2. Configurare il valore desiderato di PromptLoginBehavior eseguendo il comando seguente:

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

Di seguito sono riportati i valori possibili del parametro PromptLoginBehavior e il relativo significato:

  • TranslateToFreshPasswordAuth: indica il comportamento predefinito di Microsoft Entra per la conversione prompt=login in wauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password e wfresh=0.
  • NativeSupport: indica che il parametro prompt=login verrà inviato così come è ad AD FS. Questo è il valore consigliato se AD FS si trova in Windows Server 2012 R2 con l'aggiornamento cumulativo di luglio 2016 o versione successiva.
  • Disabilitato: indica che viene inviato solo wfresh=0 ad AD FS.