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 autenticazionewauth=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.
Ottenere prima di tutto i valori correnti di
FederatedIdpMfaBehavior
,PreferredAuthenticationProtocol
ePromptLoginBehavior
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 aFormat-List *
per forzare l'output di tutte le proprietà dell'oggetto.Se il valore della proprietà
PromptLoginBehavior
è vuoto ($null
) viene utilizzato il comportamento diTranslateToFreshPasswordAuth
.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
inwauth=https://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password
ewfresh=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.