OpenID Connect in Microsoft Identity Platform

OpenID Connessione (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 in OpenID Connessione specifica Core 1.0.

Flusso del protocollo: accesso

Il diagramma seguente illustra il flusso di accesso Connessione OpenID di base. I passaggi del flusso sono descritti in modo più dettagliato nelle sezioni successive dell'articolo.

Swim-lane diagram showing the OpenID Connect protocol's sign-in flow.

Abilitare i token ID

Il token ID introdotto da OpenID Connessione viene rilasciato dal server di autorizzazione, 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 emessi per impostazione predefinita per un'applicazione registrata con Microsoft Identity Platform. I token ID per un'applicazione sono abilitati usando uno dei metodi seguenti:

  1. Accedi all'Interfaccia di amministrazione di Microsoft Entra.
  2. Passare a Applicazioni> di identità>Registrazioni app>< autenticazione dell'applicazione.>>
  3. In Configurazioni della piattaforma selezionare Aggiungi una piattaforma.
  4. Nel riquadro visualizzato selezionare la piattaforma appropriata per l'applicazione. Ad esempio, selezionare Web per un'applicazione Web.
  5. In URI di reindirizzamento aggiungere l'URI di reindirizzamento dell'applicazione. Ad esempio: https://localhost:8080/.
  6. In Concessione implicita e flussi ibridi selezionare la casella di controllo Token ID (usati per i flussi impliciti e ibridi).

Oppure:

  1. Selezionare Applicazioni di identità>> Registrazioni app>< Manifesto dell'applicazione.>>
  2. Impostare su oauth2AllowIdTokenImplicitFlowtrue nel manifesto dell'applicazione di registrazione dell'app.

Se i token ID non sono abilitati per l'app e ne viene richiesto uno, Microsoft Identity Platform restituisce un unsupported_response errore simile al seguente:

Il valore fornito per il parametro di input 'response_type' non è consentito per questo client. Expected value is 'code' (Il valore fornito 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 id_token è illustrata in Inviare la richiesta di accesso più avanti nell'articolo.

Recuperare il documento di configurazione OpenID

I provider OpenID come 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 a mano le richieste di codice e le risposte dall'endpoint del documento di configurazione OpenID.

Trovare l'URI del documento di configurazione OpenID dell'app

A ogni registrazione dell'app in Microsoft Entra ID viene fornito un endpoint accessibile pubblicamente che serve il documento di configurazione OpenID. Per determinare l'URI dell'endpoint del documento di configurazione per l'app, aggiungere il percorso di configurazione OpenID noto all'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 {tenant} varia in base al gruppo di destinatari dell'accesso dell'applicazione, come illustrato nella tabella seguente. L'URL dell'autorità varia anche in base all'istanza cloud.

Valore Descrizione
common Gli utenti con un account Microsoft personale e un account aziendale o dell'istituto di istruzione di Microsoft Entra ID possono accedere all'applicazione.
organizations Solo gli utenti con account aziendali o dell'istituto di istruzione di Microsoft Entra ID possono accedere all'applicazione.
consumers Possono accedere all'applicazione solo gli utenti con account Microsoft personali.
8eaef023-2b34-4da1-9baa-8bc8c9d6a490 oppure contoso.onmicrosoft.com Solo gli utenti di un tenant Microsoft Entra 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 Microsoft Entra 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 utilizzo deve essere configurata per supportare tale tipo di account in conformità con signInAudience.

Per trovare il documento di configurazione OIDC nell'interfaccia di amministrazione di Microsoft Entra, accedere all'interfaccia di amministrazione di Microsoft Entra e quindi:

  1. Passare a Applicazioni> di identità>Registrazioni app>< endpoint dell'applicazione.>>
  2. Individuare l'URI in OpenID Connessione documento di metadati.

Esempio di richiesta

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 Connessione 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 di 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 nel scope parametro .
  • Specificare id_token nel response_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=535fb089-9ff3-47b6-9bfb-4f1264799865
&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 Richiesto È 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 Richiesto ID applicazione (client) assegnato all'app dall'interfaccia di amministrazione Registrazioni app di Microsoft Entra.
response_type Richiesto Deve includere id_token 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 Richiesto Elenco di ambiti separato da spazi. Per OpenID Connessione, 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 Richiesto Valore generato e inviato dall'app nella richiesta di un token ID. Lo stesso nonce valore è incluso nel token ID restituito all'app da Microsoft Identity Platform. Per attenuare gli attacchi di riproduzione dei token, l'app deve verificare che il nonce valore nel token ID sia lo stesso 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 utente richiesto. Gli unici valori validi al momento sono login, none, consente 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 oggetto per indicare l'utente che deve essere connesso. Questi parametri assicurano che all'utente non venga visualizzata alcuna richiesta interattiva. Se la richiesta non può essere completata automaticamente tramite Single Sign-On, Microsoft Identity Platform restituisce un errore. Le cause includono nessun utente connesso, l'utente con suggerimenti non è connesso 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. Infine, select_account mostra 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 login_hint che 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. Microsoft Identity Platform verifica che l'utente abbia acconsentito alle autorizzazioni indicate nel scope parametro di query. Se l'utente non ha acconsentito a nessuna di queste autorizzazioni, 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, Microsoft Identity Platform restituisce una risposta all'app all'URI di reindirizzamento indicato usando il metodo specificato nel response_mode parametro .

Risposta riuscita

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 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 state nella richiesta e nella risposta siano identici.

Risposta con errore

Le risposte di errore possono anche essere inviate 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 errore Descrizione Azione client
invalid_request Errore del protocollo come 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 nell'ID Microsoft Entra o non viene aggiunta al tenant di Microsoft Entra dell'utente. L'applicazione può richiedere all'utente le istruzioni per installare l'applicazione e aggiungerla all'ID Microsoft Entra.
access_denied Il proprietario della risorsa ha negato il consenso. L'applicazione client può notificare all'utente che non può proseguire a meno che l'utente non acconsenta.
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, l'ID Entra Di Microsoft non è in grado di trovarlo o è configurato in modo non corretto. Questo errore indica che la risorsa, se esistente, non è stata configurata nel tenant. L'applicazione può richiedere all'utente le istruzioni per installare l'applicazione e aggiungerla all'ID Microsoft Entra.

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. Come tutti i provider OpenID, i token ID di 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(SPA), ad esempio, raramente traggono vantaggio dalla convalida del 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 falsi o chiavi modificando il traffico di rete nel 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. Vedere anche Informazioni importanti sul rollover della chiave di firma.

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 Connessione per ottenere un token ID per l'autenticazione dell'utente e OAuth 2.0 per ottenere un token di accesso per una risorsa protetta.

Il flusso completo di acquisizione di token e accesso openID Connessione ha un aspetto simile al diagramma seguente:

OpenID Connect protocol: Token acquisition

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=535fb089-9ff3-47b6-9bfb-4f1264799865        // 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 contenere altri utenti 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. Sono disponibili altri dettagli sui token ID e sul relativo contenuto nel riferimento al 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 state nella richiesta e nella risposta siano identici.

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 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 con errore

Le risposte agli errori possono anche essere inviate 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 accedere all'utente, è necessario convalidare il token ID come descritto nei token di convalida. 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 di 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 verrà richiesto di eseguire l'accesso al successivo uso dell'app.

Reindirizzare l'agente utente a come end_session_endpoint illustrato nel documento di configurazione di OpenID Connessione. 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, l'utente visualizza un messaggio generico generato da 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_hintfacoltativa 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 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, 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, Microsoft Identity Platform invia una richiesta HTTP GET alla registrazione LogoutUrl di tutte le applicazioni a cui l'utente ha 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