OpenID Connect nel Microsoft Identity Platform
OpenID Connect (OIDC) estende il protocollo di autorizzazione OAuth 2.0 da usare come protocollo di autenticazione aggiuntivo. È possibile usare OIDC per abilitare l'accesso Single Sign-On (SSO) tra le applicazioni abilitate per OAuth usando un token di sicurezza denominato token ID.
La specifica completa per OIDC è disponibile nel sito Web di OpenID Foundation alla specifica OpenID Connect Core 1.0.
Flusso del protocollo: accesso
Il diagramma seguente illustra il flusso di accesso di base di OpenID Connect. I passaggi nel flusso sono descritti in modo più dettagliato nelle sezioni successive dell'articolo.
Suggerimento
Provare a eseguire questa richiesta e altro ancora in Postman. Non dimenticare di sostituire token e ID.
Abilitare i token ID
Il token ID introdotto da OpenID Connect viene rilasciato dal server di autorizzazione, il Microsoft Identity Platform, quando l'applicazione client ne richiede uno durante l'autenticazione utente. Il token ID consente a un'applicazione client di verificare l'identità dell'utente e di ottenere altre informazioni (attestazioni) su di esse.
I token ID non vengono rilasciati per impostazione predefinita per un'applicazione registrata con il Microsoft Identity Platform. I token ID per un'applicazione sono abilitati usando uno dei metodi seguenti:
- Passare alla portale di Azure e selezionare Azure Active Directory>Registrazioni appautenticazione< dell'applicazione>>.>
- In Concessione implicita e flussi ibridi selezionare la casella di controllo Token ID (usati per flussi impliciti e ibridi).
Oppure:
- Selezionare Azure Active Directory>Registrazioni app><Il manifesto dell'applicazione>>.
- Impostare su
oauth2AllowIdTokenImplicitFlow
true
nel manifesto dell'applicazione della registrazione dell'app.
Se i token ID non sono abilitati per l'app e ne viene richiesto uno, il Microsoft Identity Platform restituisce un unsupported_response
errore simile al seguente:
Il valore specificato per il parametro di input 'response_type' non è consentito per questo client. Il valore previsto è 'code'.
La richiesta di un token ID specificando un response_type
di code
è illustrata in Inviare la richiesta di accesso più avanti nell'articolo.
Recuperare il documento di configurazione OpenID
I provider OpenID come il Microsoft Identity Platform forniscono un documento di configurazione del provider OpenID in un endpoint accessibile pubblicamente contenente gli endpoint OIDC del provider, le attestazioni supportate e altri metadati. Le applicazioni client possono usare i metadati per individuare gli URL da usare per l'autenticazione e le chiavi di firma pubblica del servizio di autenticazione.
Le librerie di autenticazione sono i consumer più comuni del documento di configurazione OpenID, che usano per l'individuazione degli URL di autenticazione, delle chiavi di firma pubblica del provider e di altri metadati del servizio. Se nell'app viene usata una libreria di autenticazione, è probabile che non sia necessario inviare manualmente le richieste di codice e le risposte dall'endpoint del documento di configurazione OpenID.
Trovare l'URI del documento di configurazione OpenID dell'app
Ogni registrazione dell'app in Azure AD viene fornito un endpoint accessibile pubblicamente che gestisce il documento di configurazione OpenID. Per determinare l'URI dell'endpoint del documento di configurazione per l'app, aggiungere il percorso di configurazione OpenID notoall'URL dell'autorità di registrazione dell'app.
- Percorso del documento di configurazione noto:
/.well-known/openid-configuration
- URL autorità:
https://login.microsoftonline.com/{tenant}/v2.0
Il valore di varia in base al gruppo di {tenant}
destinatari di accesso dell'applicazione, come illustrato nella tabella seguente. L'URL dell'autorità varia anche in base all'istanza cloud.
Valore | Descrizione |
---|---|
common |
Possono accedere all'applicazione gli utenti con account Microsoft e account aziendali o dell'istituto d'istruzione di Azure AD. |
organizations |
Possono accedere all'applicazione solo gli utenti con account aziendali o dell'istituto d'istruzione di Azure AD. |
consumers |
Possono accedere all'applicazione solo gli utenti con account Microsoft personali. |
8eaef023-2b34-4da1-9baa-8bc8c9d6a490 o contoso.onmicrosoft.com |
Solo gli utenti di un tenant di Azure AD specifico (membri della directory con un account aziendale o dell'istituto di istruzione o guest della directory con un account Microsoft personale) possono accedere all'applicazione. Il valore può essere il nome di dominio del tenant di Azure AD o l'ID tenant in formato GUID. È anche possibile usare il GUID del tenant consumer, 9188040d-6c67-4c5b-b112-36a304b66dad , al posto di consumers . |
Suggerimento
Si noti che quando si usa l'autorità common
o consumers
per gli account Microsoft personali, l'applicazione di risorse di consumo deve essere configurata per supportare tale tipo di account in conformità con signInAudience.
Per trovare il documento di configurazione OIDC nel portale di Azure, passare alla portale di Azure e quindi:
- Selezionare Azure Active Directory>Registrazioni app><Endpoint dell'applicazione>>.
- Individuare l'URI nel documento dei metadati openID Connect.
Richiesta di esempio
La richiesta seguente ottiene i metadati di configurazione OpenID dall'endpoint common
del documento di configurazione OpenID dell'autorità nel cloud pubblico di Azure:
GET /common/v2.0/.well-known/openid-configuration
Host: login.microsoftonline.com
Suggerimento
Prova Per visualizzare il documento di configurazione OpenID per l'autorità di common
un'applicazione, passare a https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration.
Risposta di esempio
I metadati di configurazione vengono restituiti in formato JSON, come illustrato nell'esempio seguente (troncato per brevità). I metadati restituiti nella risposta JSON sono descritti in dettaglio nella specifica di individuazione openID Connect 1.0.
{
"authorization_endpoint": "https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize",
"token_endpoint": "https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token",
"token_endpoint_auth_methods_supported": [
"client_secret_post",
"private_key_jwt"
],
"jwks_uri": "https://login.microsoftonline.com/{tenant}/discovery/v2.0/keys",
"userinfo_endpoint": "https://graph.microsoft.com/oidc/userinfo",
"subject_types_supported": [
"pairwise"
],
...
}
Inviare la richiesta di accesso
Per autenticare un utente e richiedere un token ID da usare nell'applicazione, indirizzare l'agente utente all'endpoint /authorize del Microsoft Identity Platform. La richiesta è simile alla prima parte del flusso del codice di autorizzazione OAuth 2.0 , ma con queste distinzioni:
- Includere l'ambito
openid
nelscope
parametro . - Specificare
code
nelresponse_type
parametro . - Includere il
nonce
parametro .
Richiesta di accesso di esempio (interruzioni di riga incluse solo per la leggibilità):
GET https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=id_token
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=form_post
&scope=openid
&state=12345
&nonce=678910
Parametro | Condizione | Descrizione |
---|---|---|
tenant |
Obbligatoria | È possibile usare il valore {tenant} nel percorso della richiesta per controllare chi può accedere all'applicazione. I valori consentiti sono common , organizations , consumers e gli identificatori del tenant. Per altre informazioni, vedere le nozioni di base sui protocolli. In modo critico, per gli scenari guest in cui si firma un utente da un tenant in un altro tenant, è necessario specificare l'identificatore del tenant per l'accesso corretto al tenant della risorsa. |
client_id |
Obbligatoria | L'ID dell'applicazione (client) assegnato all'app dall'esperienzaPortale di Azure - Registrazioni app. |
response_type |
Obbligatoria | Deve includere code per l'accesso a OpenID Connect. |
redirect_uri |
Consigliato | URI di reindirizzamento dell'app dove le risposte di autenticazione possono essere inviate e ricevute dall'app. Deve corrispondere esattamente a uno degli URI di reindirizzamento registrati nel portale, ad eccezione del fatto che deve essere codificato come URL. Se non è presente, l'endpoint selezionerà uno registrato redirect_uri in modo casuale per inviare nuovamente l'utente. |
scope |
Obbligatoria | Elenco di ambiti separati da spazi. Per OpenID Connect, deve includere l'ambito openid , che si traduce nell'autorizzazione Accedi nell'interfaccia utente del consenso. È anche possibile includere in questa richiesta altri ambiti per richiedere il consenso. |
nonce |
Obbligatoria | Valore generato e inviato dall'app nella richiesta di un token ID. Lo stesso nonce valore è incluso nel token ID restituito all'app dal Microsoft Identity Platform. Per attenuare gli attacchi di riproduzione dei token, l'app deve verificare che il nonce valore nel token ID corrisponda al valore inviato durante la richiesta del token. Il valore è in genere una stringa univoca casuale. |
response_mode |
Consigliato | Specifica il metodo che deve essere usato per inviare il codice di autorizzazione risultante all'app. Può essere form_post o fragment . Per le applicazioni Web è consigliabile usare response_mode=form_post per assicurare il trasferimento più sicuro dei token nell'applicazione. |
state |
Consigliato | Valore incluso nella richiesta che verrà restituito anche nella risposta del token. Può trattarsi di una stringa di qualsiasi contenuto. Per evitare gli attacchi di richiesta intersito falsa, viene in genere usato un valore univoco generato casualmente. Anche lo stato viene usato per codificare le informazioni sullo stato dell'utente nell'app prima dell'esecuzione della richiesta di autenticazione, ad esempio la pagina o la visualizzazione corrente dell'utente. |
prompt |
Facoltativo | Indica il tipo di interazione obbligatoria dell'utente. Gli unici valori validi in questo momento sono login , none , consent e select_account . L'attestazione prompt=login forza l'utente a immettere le sue credenziali alla richiesta, negando l'accesso Single Sign-On. Il prompt=none parametro è l'opposto e deve essere associato a un login_hint per indicare l'utente che deve essere connesso. Questi parametri assicurano che all'utente non venga visualizzato alcun prompt interattivo. Se la richiesta non può essere completata automaticamente tramite Single Sign-On, il Microsoft Identity Platform restituisce un errore. Le cause includono nessun utente connesso, l'utente con suggerimento non ha eseguito l'accesso o più utenti hanno eseguito l'accesso, ma non è stato fornito alcun suggerimento. L'attestazione prompt=consent attiva la finestra di dialogo di consenso di OAuth dopo l'accesso dell'utente. La finestra di dialogo chiede all'utente di concedere le autorizzazioni per l'app. select_account Mostra infine l'utente un selettore di account, negando l'accesso SSO invisibile all'utente, ma consentendo all'utente di selezionare l'account con cui intende eseguire l'accesso, senza richiedere la voce delle credenziali. Non è possibile usare sia che login_hint select_account . |
login_hint |
Facoltativo | È possibile usare questo parametro per pre-compilare i campi nome utente e indirizzo di posta elettronica nella pagina di accesso, se già si conosce il nome utente. Spesso, le app usano questo parametro durante la riautenticazione, dopo aver già estratto l'attestazione login_hint facoltativa da un accesso precedente. |
domain_hint |
Facoltativo | Area di autenticazione dell'utente in una directory federata. Non viene eseguito il processo di individuazione basato sulla posta elettronica a cui viene sottoposto l'utente nella pagina di accesso per garantire un'esperienza utente più semplice. Per i tenant federati mediante una directory locale come AD FS, questo spesso comporta un accesso senza problemi per via della sessione di accesso esistente. |
A questo punto, all'utente viene chiesto di immettere le credenziali e completare l'autenticazione. Il Microsoft Identity Platform verifica che l'utente abbia acconsentito alle autorizzazioni indicate nel scope
parametro di query. Se l'utente non ha acconsentito ad alcuna di queste autorizzazioni, il Microsoft Identity Platform chiede all'utente di fornire il consenso alle autorizzazioni necessarie. Sono disponibili altre informazioni su autorizzazioni, consenso e app multi-tenant.
Dopo che l'utente esegue l'autenticazione e concede il consenso, il Microsoft Identity Platform restituisce una risposta all'app all'URI di reindirizzamento indicato usando il metodo specificato nel response_mode
parametro .
Risposta di esito positivo
Una risposta con esito positivo quando si usa response_mode=form_post
è simile a:
POST /myapp/ HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNB...&state=12345
Parametro | Descrizione |
---|---|
id_token |
Token ID richiesto dall'app. È possibile usare il parametro id_token per verificare l'identità dell'utente e avviare una sessione con l'utente. Per altre informazioni sui token ID e sul relativo contenuto, vedere le informazioni di riferimento sul token ID. |
state |
Se nella richiesta è incluso un parametro state , lo stesso valore deve essere visualizzato nella risposta. L'app deve verificare che i valori dello stato nella richiesta e nella risposta siano identici. |
Risposta di errore
È anche possibile inviare risposte di errore all'URI di reindirizzamento in modo che l'app possa gestirle, ad esempio:
POST /myapp/ HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
error=access_denied&error_description=the+user+canceled+the+authentication
Parametro | Descrizione |
---|---|
error |
Stringa di codice di errore che può essere usata per classificare i tipi di errori che si verificano e correggerli. |
error_description |
Messaggio di errore specifico che consente di identificare la causa principale di un errore di autenticazione. |
Codici per gli errori dell'endpoint di autorizzazione
La tabella seguente descrive i codici di errore che possono essere restituiti nel parametro error
della risposta di errore:
Codice di errore | Descrizione | Azione client |
---|---|---|
invalid_request |
Errore del protocollo, ad esempio un parametro obbligatorio mancante. | Correggere e inviare di nuovo la richiesta. Questo errore di sviluppo deve essere rilevato durante il test dell'applicazione. |
unauthorized_client |
L'applicazione client non può richiedere un codice di autorizzazione. | Questo errore può verificarsi quando l'applicazione client non è registrata in Azure AD o non viene aggiunta al tenant di Azure AD dell'utente. L'applicazione può chiedere all'utente di installare l'applicazione e di aggiungerla ad Azure AD. |
access_denied |
Il proprietario della risorsa ha negato il consenso. | L'applicazione client può indicare all'utente che non può proseguire, a meno che l'utente non fornisca il consenso. |
unsupported_response_type |
Il server di autorizzazione non supporta il tipo di risposta nella richiesta. | Correggere e inviare di nuovo la richiesta. Questo errore di sviluppo deve essere rilevato durante il test dell'applicazione. |
server_error |
Errore imprevisto rilevato dal server. | ripetere la richiesta. Questi errori possono dipendere da condizioni temporanee. L'applicazione client può comunicare all'utente che la risposta è stata ritardata a causa di un errore temporaneo. |
temporarily_unavailable |
Il server è temporaneamente troppo occupato per gestire la richiesta. | ripetere la richiesta. L'applicazione client può comunicare all'utente che la risposta è stata ritardata a causa di una condizione temporanea. |
invalid_resource |
La risorsa di destinazione non è valida perché non esiste, Azure AD non riesce a trovarla o non è configurata correttamente. | Questo errore indica che la risorsa, se esistente, non è stata configurata nel tenant. L'applicazione può chiedere all'utente di installare l'applicazione e di aggiungerla ad Azure AD. |
Convalidare il token ID
La ricezione di un token ID nell'app potrebbe non essere sempre sufficiente per autenticare completamente l'utente. Potrebbe anche essere necessario convalidare la firma del token ID e verificarne le attestazioni in base ai requisiti dell'app. Analogamente a tutti i provider OpenID, i token ID del Microsoft Identity Platform sono token JSON Web (JWT) firmati usando la crittografia a chiave pubblica.
Le app Web e le API Web che usano token ID per l'autorizzazione devono convalidarle perché tali applicazioni ottengono l'accesso ai dati. Altri tipi di applicazione potrebbero tuttavia non trarre vantaggio dalla convalida del token ID. Le app native e a pagina singola,ad esempio, traggono raramente vantaggio dalla convalida dei token ID perché qualsiasi entità con accesso fisico al dispositivo o al browser può potenzialmente ignorare la convalida.
Di seguito sono riportati due esempi di bypass di convalida dei token:
- Fornire token o chiavi falsi modificando il traffico di rete verso il dispositivo
- Debug dell'applicazione e esecuzione della logica di convalida durante l'esecuzione del programma.
Se si convalidano i token ID nell'applicazione, è consigliabile non farlo manualmente. Usare invece una libreria di convalida dei token per analizzare e convalidare i token. Le librerie di convalida dei token sono disponibili per la maggior parte dei linguaggi di sviluppo, dei framework e delle piattaforme.
Cosa convalidare in un token ID
Oltre a convalidare la firma del token ID, è necessario convalidare diverse attestazioni, come descritto in Convalida di un token ID nel riferimento al token ID. Vedere anche Informazioni importanti sulla firma del rollover della chiave.
Diverse altre convalide sono comuni e variano in base agli scenari dell'applicazione, tra cui:
- Garantire che l'utente o l'organizzazione dispongano dell'iscrizione all'app.
- Garantire che l'utente disponga di autorizzazioni/privilegi adeguati.
- Garantire che sia stato applicato un determinato livello di autenticazione, ad esempio l'autenticazione a più fattori.
Dopo aver convalidato il token ID, è possibile iniziare una sessione con l'utente e usare le informazioni nelle attestazioni del token per la personalizzazione, la visualizzazione o l'archiviazione dei dati.
Diagramma di protocollo: Acquisizione dei token di accesso
Molte applicazioni non solo devono accedere a un utente, ma anche accedere a una risorsa protetta come un'API Web per conto dell'utente. Questo scenario combina OpenID Connect per ottenere un token ID per autenticare l'utente e OAuth 2.0 per ottenere un token di accesso per una risorsa protetta.
Il flusso completo di accesso e acquisizione dei token openID Connect è simile al diagramma seguente:
Ottenere un token di accesso per l'endpoint UserInfo
Oltre al token ID, le informazioni dell'utente autenticato vengono rese disponibili anche nell'endpoint UserInfo OIDC.
Per ottenere un token di accesso per l'endpoint UserInfo OIDC, modificare la richiesta di accesso come descritto di seguito:
// Line breaks are for legibility only.
GET https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e // Your app registration's Application (client) ID
&response_type=id_token%20token // Requests both an ID token and access token
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F // Your application's redirect URI (URL-encoded)
&response_mode=form_post // 'form_post' or 'fragment'
&scope=openid+profile+email // 'openid' is required; 'profile' and 'email' provide information in the UserInfo endpoint as they do in an ID token.
&state=12345 // Any value - provided by your app
&nonce=678910 // Any value - provided by your app
È possibile usare il flusso del codice di autorizzazione, il flusso del codice del dispositivo o un token di aggiornamento al posto di per ottenere un token di response_type=token
accesso per l'app.
Risposta del token riuscita
Risposta riuscita dall'uso di response_mode=form_post
:
POST /myapp/ HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
access_token=eyJ0eXAiOiJKV1QiLCJub25jZSI6I....
&token_type=Bearer
&expires_in=3598
&scope=email+openid+profile
&id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI....
&state=12345
I parametri di risposta indicano la stessa cosa indipendentemente dal flusso usato per acquisirli.
Parametro | Descrizione |
---|---|
access_token |
Token che verrà usato per chiamare l'endpoint UserInfo. |
token_type |
Sempre "Bearer" |
expires_in |
Tempo di scadenza del token di accesso, espresso in secondi. |
scope |
Autorizzazioni concesse per il token di accesso. Poiché l'endpoint UserInfo è ospitato in Microsoft Graph, è possibile scope che altri utenti vengano precedentemente concessi all'applicazione, ad esempio User.Read . |
id_token |
Token ID richiesto dall'app. È possibile usare il token ID per verificare l'identità dell'utente e avviare una sessione con l'utente. Altre informazioni sui token ID e sui relativi contenuti sono disponibili nella guida di riferimento ai token ID. |
state |
Se nella richiesta è incluso un parametro state, lo stesso valore deve essere visualizzato nella risposta. L'app deve verificare che i valori del parametro state siano identici nella richiesta e nella risposta. |
Avviso
Non tentare di convalidare o leggere i token per qualsiasi API di cui non si è proprietari, inclusi i token in questo esempio, nel codice. I token per i servizi Microsoft possono usare un formato speciale che non verrà convalidato come token JWT e potrebbe anche essere crittografato per gli utenti consumer (account Microsoft). Durante la lettura dei token è uno strumento utile per il debug e l'apprendimento, non assumere dipendenze da questo nel codice o presupporre specifiche sui token che non sono per un'API che si controlla.
Risposta di errore
È anche possibile inviare risposte di errore all'URI di reindirizzamento in modo che l'app possa gestirle in modo appropriato:
POST /myapp/ HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
error=access_denied&error_description=the+user+canceled+the+authentication
Parametro | Descrizione |
---|---|
error |
Stringa di codice di errore che può essere usata per classificare i tipi di errori che si verificano e correggerli. |
error_description |
Messaggio di errore specifico che consente di identificare la causa principale di un errore di autenticazione. |
Per una descrizione dei possibili codici di errore e delle risposte client consigliate, vedere Codici per gli errori dell'endpoint di autorizzazione.
Dopo aver ottenuto un codice di autorizzazione e un token ID, è possibile far accedere l'utente e ottenere i token di accesso per suo conto. Per far accedere l'utente, è necessario convalidare il token ID esattamente come descritto. Per ottenere i token di accesso, seguire la procedura descritta nella documentazione del flusso del codice OAuth.
Chiamata dell'endpoint UserInfo
Esaminare la documentazione di UserInfo per esaminare come chiamare l'endpoint UserInfo con questo token.
Inviare una richiesta di disconnessione
Per disconnettere un utente, eseguire entrambe queste operazioni:
- Reindirizzare l'agente utente dell'utente all'URI di disconnessione del Microsoft Identity Platform
- Cancellare i cookie dell'app o terminare la sessione dell'utente nell'applicazione.
Se non si esegue alcuna operazione, l'utente potrebbe rimanere autenticato e non chiedere di eseguire l'accesso al successivo utente dell'app.
Reindirizzare l'agente utente a end_session_endpoint
come illustrato nel documento di configurazione di OpenID Connect. end_session_endpoint
supporta sia le richieste HTTP GET che POST.
GET https://login.microsoftonline.com/common/oauth2/v2.0/logout?
post_logout_redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
Parametro | Condizione | Descrizione |
---|---|---|
post_logout_redirect_uri |
Consigliato | URL a cui l'utente viene reindirizzato dopo la disconnessione. Se il parametro non è incluso, viene visualizzato un messaggio generico generato dal Microsoft Identity Platform. Questo URL deve corrispondere esattamente a uno degli URI di reindirizzamento registrati per l'applicazione nel portale di registrazione delle app. |
logout_hint |
Facoltativo | Consente di disconnettersi senza chiedere all'utente di selezionare un account. Per usare logout_hint , abilitare l'attestazione login_hint facoltativa nell'applicazione client e usare il valore dell'attestazione login_hint facoltativa come logout_hint parametro . Non usare UPN o numeri di telefono come valore del logout_hint parametro . |
Nota
Al termine della disconnessa, le sessioni attive verranno impostate su inattive. Se esiste un token di aggiornamento primario (PRT) valido per l'utente disconnesso e viene eseguito un nuovo accesso, l'accesso SSO verrà interrotto e l'utente visualizzerà una richiesta con una selezione account. Se l'opzione selezionata è l'account connesso che fa riferimento al token di aggiornamento primario, l'accesso procederà automaticamente senza la necessità di inserire credenziali aggiornate.
Single Sign-Out
Quando si reindirizza l'utente a end_session_endpoint
, il Microsoft Identity Platform cancella la sessione dell'utente dal browser. L'utente può tuttavia essere ancora connesso ad altre applicazioni che usano account Microsoft per l'autenticazione. Per consentire a tali applicazioni di disconnettere l'utente contemporaneamente, il Microsoft Identity Platform invia una richiesta HTTP GET alla registrazione LogoutUrl
di tutte le applicazioni a cui l'utente ha attualmente eseguito l'accesso. Le applicazioni devono rispondere a questa richiesta cancellando qualsiasi sessione che identifica l'utente e restituendo una risposta 200
. Se si vuole supportare Single Sign-Out nell'applicazione, è necessario implementare questo tipo di oggetto LogoutUrl
nel codice dell'applicazione. È possibile impostare LogoutUrl
dal portale di registrazione delle app.
Passaggi successivi
- Esaminare la documentazione dell'endpoint UserInfo.
- Popolare i valori di attestazione in un token con i dati dei sistemi locali.
- Includere attestazioni personalizzate nei token.