Condividi tramite


Accesso al Web con OpenID Connect in Azure Active Directory B2C

Importante

A partire dal 1° maggio 2025, Azure AD B2C non sarà più disponibile per l'acquisto per i nuovi clienti. Altre informazioni sono disponibili nelle domande frequenti.

OpenID Connect è un protocollo di autenticazione basato su OAuth 2.0, che può essere usato per consentire agli utenti di accedere in modo sicuro alle applicazioni Web. Usando l'implementazione di Azure Active Directory B2C (Azure AD B2C) di OpenID Connect, è possibile esternalizzare l'iscrizione, l'accesso e altre esperienze di gestione delle identità nelle applicazioni Web a Microsoft Entra ID. Questa guida illustra come eseguire questa operazione in modo indipendente dal linguaggio. Descrive come inviare e ricevere messaggi HTTP senza usare alcuna delle librerie open source.

Annotazioni

La maggior parte delle librerie di autenticazione open source acquisisce e convalida i token JWT per l'applicazione. È consigliabile esplorare queste opzioni anziché implementare il proprio codice. Per altre informazioni, vedere Panoramica di Microsoft Authentication Library (MSAL) e Microsoft Identity Web Authentication Library.

OpenID Connect estende il protocollo di autorizzazione OAuth 2.0 da usare come protocollo di autenticazione . Questo protocollo di autenticazione consente di eseguire l'accesso Single Sign-On. Introduce il concetto di token ID, che consente al client di verificare l'identità dell'utente e ottenere informazioni di base sul profilo sull'utente.

OpenID Connect consente anche alle applicazioni di acquisire in modo sicuro i token di accesso. È possibile usare i token di accesso per accedere alle risorse protette dal server di autorizzazione . È consigliabile usare OpenID Connect se si sta creando un'applicazione Web ospitata in un server e a cui si accede tramite un browser. Per altre informazioni sui token, vedere Panoramica dei token in Azure Active Directory B2C

Azure AD B2C estende il protocollo OpenID Connect standard per fare più che la semplice autenticazione e autorizzazione. Introduce il parametro del flusso utente, che consente di usare OpenID Connect per aggiungere esperienze utente all'applicazione, ad esempio la registrazione, l'accesso e la gestione dei profili.

Inviare richieste di autenticazione

Quando l'applicazione Web deve autenticare l'utente ed eseguire un flusso utente, può indirizzare l'utente all'endpoint /authorize . L'utente esegue un'azione a seconda del flusso utente.

In questa richiesta, il client indica le autorizzazioni che deve acquisire dall'utente nel scope parametro e specifica il flusso utente da eseguire. Per ottenere un'impressione del funzionamento della richiesta, incollare la richiesta nel browser ed eseguirla. Sostituire:

  • {tenant} con il nome dell'inquilino.
  • 00001111-aaaa-2222-bbbb-3333cccc4444 con l'ID app di un'applicazione che hai registrato nel tuo tenant.
  • {application-id-uri}/{scope-name} con l'URI ID dell'applicazione e l'ambito di un'applicazione che hai registrato nel tuo tenant.
  • {policy} con il nome della politica presente nel tuo tenant, ad esempio b2c_1_sign_in.
GET /{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?
Host: {tenant}.b2clogin.com

client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&response_type=code+id_token
&redirect_uri=https%3A%2F%2Fjwt.ms%2F
&response_mode=fragment
&scope=openid%20offline_access%20{application-id-uri}/{scope-name}
&state=arbitrary_data_you_can_receive_in_the_response
&nonce=12345
Parametro Obbligatorio Descrizione
{tenant} Nome del tenant di Azure AD B2C. Se si usa un dominio personalizzato, sostituire tenant.b2clogin.com con il dominio, ad esempio fabrikam.com.
{politica} Il flusso utente o la politica eseguita dall'app. Specificare il nome di un flusso utente creato nel tenant di Azure AD B2C. Per esempio: b2c_1_sign_in, b2c_1_sign_up, o b2c_1_edit_profile.
ID cliente L'ID dell'applicazione assegnato dal portale di Azure alla tua applicazione.
nonce Consigliato Un valore incluso nella richiesta (generato dall'applicazione) che viene trasformato in un'affermazione nel token ID risultante. L'applicazione può quindi verificare questo valore per attenuare gli attacchi di riproduzione dei token. Il valore è in genere una stringa univoca casuale che può essere usata per identificare l'origine della richiesta.
tipo_di_risposta Deve includere un token ID per OpenID Connect. Se l'applicazione Web richiede anche token per chiamare un'API Web, è possibile usare code+id_token.
scopo Elenco di ambiti separati da spazi. L'ambito openid indica un'autorizzazione per l'accesso dell'utente e per ottenere i dati relativi all'utente sotto forma di token ID. L'ambito offline_access è facoltativo per le applicazioni Web. Indica che l'applicazione necessita di un token di aggiornamento per l'accesso esteso alle risorse. https://{tenant-name}/{app-id-uri}/{scope} Indica un'autorizzazione per le risorse protette, ad esempio un'API Web. Per altre informazioni, vedere Richiedere un token di accesso.
richiesta NO Tipo di interazione dell'utente necessario. L'unico valore valido in questo momento è login, che impone all'utente di immettere le credenziali per tale richiesta.
uri_di_reindirizzamento Parametro redirect_uri dell'applicazione, in cui il server invia risposte di autenticazione all'applicazione. Deve corrispondere esattamente a uno dei redirect_uri parametri registrati nel portale di Azure, ad eccezione del fatto che deve essere codificato in URL.
modalità_di_risposta NO Metodo usato per inviare di nuovo il codice di autorizzazione risultante all'applicazione. Può essere query, form_posto fragment. È consigliabile usare la form_post modalità di risposta per garantire la sicurezza ottimale.
stato NO Valore che è possibile includere nella richiesta restituita dal server di autorizzazione nella risposta del token. Può essere una stringa di qualsiasi contenuto desiderato. Per evitare gli attacchi di falsificazione di richiesta intersito, viene normalmente usato un valore univoco generato casualmente. Lo stato viene usato anche per codificare informazioni sullo stato dell'utente nell'applicazione prima che si sia verificata la richiesta di autenticazione, ad esempio la pagina in cui si trovavano. Se non si vogliono registrare più URL di reindirizzamento nel portale di Azure, è possibile usare il state parametro per distinguere le risposte nell'applicazione dal servizio Azure AD B2C a causa di richieste diverse.
suggerimento di login NO Può essere usato per precompilare il campo del nome di accesso della pagina di accesso. Per ulteriori informazioni, vedere Prepopolare il nome di accesso.
suggerimento_dominio NO Fornisce un suggerimento ad Azure AD B2C sul provider di identità sociale da usare per l'accesso. Se viene incluso un valore valido, l'utente va direttamente alla pagina di accesso del fornitore di identità. Per altre informazioni, vedere Reindirizzare l'accesso a un provider di social networking.
Parametri personalizzati NO Parametri personalizzati che possono essere usati con criteri personalizzati. Ad esempio, l'URI del contenuto della pagina personalizzata dinamica o i resolver di attestazioni chiave-valore.

A questo punto, all'utente viene chiesto di completare il flusso di lavoro. L'utente potrebbe dover immettere il nome utente e la password, accedere con un'identità di social networking o iscriversi alla directory. Potrebbero essere presenti altri passaggi a seconda della modalità di definizione del flusso utente.

Dopo che l'utente ha completato il flusso utente, viene restituita una risposta all'applicazione in corrispondenza del parametro indicato redirect_uri , usando il metodo specificato nel response_mode parametro . La risposta è la stessa per ognuno dei casi precedenti, indipendentemente dal flusso utente.

Una risposta con esito positivo usando response_mode=fragment sarà simile alla seguente:

GET https://jwt.ms/#
id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...
&state=arbitrary_data_you_can_receive_in_the_response
Parametro Descrizione
id_token (token di identificazione) Token ID richiesto dall'applicazione. È possibile usare il token ID per verificare l'identità dell'utente e avviare una sessione con l'utente.
codice Codice di autorizzazione richiesto dall'applicazione, se è stato usato response_type=code+id_token. L'applicazione può usare il codice di autorizzazione per richiedere un token di accesso per una risorsa di destinazione. I codici di autorizzazione scadono in genere dopo circa 10 minuti.
stato Se nella richiesta è incluso un parametro state, lo stesso valore deve essere visualizzato nella risposta. L'applicazione deve verificare che i state valori nella richiesta e nella risposta siano identici.

Le risposte agli errori possono anche essere inviate al redirect_uri parametro in modo che l'applicazione possa gestirle in modo appropriato:

GET https://jwt.ms/#
error=access_denied
&error_description=AADB2C90091%3a+The+user+has+cancelled+entering+self-asserted+information.%0d%0aCorrelation+ID%3a+xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%0d%0aTimestamp%3a+xxxx-xx-xx+xx%3a23%3a27Z%0d%0a
&state=arbitrary_data_you_can_receive_in_the_response
Parametro Descrizione
Errore Codice che può essere usato per classificare i tipi di errori che si verificano.
descrizione_errore Messaggio di errore specifico che consente di identificare la causa radice di un errore di autenticazione.
stato Se nella richiesta è incluso un parametro state, lo stesso valore deve essere visualizzato nella risposta. L'applicazione deve verificare che i state valori nella richiesta e nella risposta siano identici.

Convalidare il token ID

La semplice ricezione di un token ID non è sufficiente per autenticare l'utente. Convalidare la firma del token ID e verificare le attestazioni nel token in base ai requisiti dell'applicazione. Azure AD B2C usa token WEB JSON (JWT) e la crittografia a chiave pubblica per firmare i token e verificare che siano validi.

Annotazioni

La maggior parte delle librerie di autenticazione open source convalida i token JWT per l'applicazione. È consigliabile esplorare queste opzioni anziché implementare la logica di convalida personalizzata. Per altre informazioni, vedere Panoramica di Microsoft Authentication Library (MSAL) e Microsoft Identity Web Authentication Library.

Azure AD B2C ha un endpoint di metadati OpenID Connect, che consente a un'applicazione di ottenere informazioni su Azure AD B2C in fase di esecuzione. Queste informazioni includono endpoint, contenuto del token e chiavi di firma del token. È disponibile un documento di metadati JSON per ogni flusso utente nel tenant B2C. Ad esempio, il documento di metadati per il flusso utente b2c_1_sign_in si trova in fabrikamb2c.onmicrosoft.com:

https://fabrikamb2c.b2clogin.com/fabrikamb2c.onmicrosoft.com/b2c_1_sign_in/v2.0/.well-known/openid-configuration

Una delle proprietà di questo documento di configurazione è jwks_uri, il cui valore per lo stesso flusso utente sarà:

https://fabrikamb2c.b2clogin.com/fabrikamb2c.onmicrosoft.com/b2c_1_sign_in/discovery/v2.0/keys

Per determinare quale flusso utente è stato usato per firmare un token ID, sono disponibili due opzioni. Prima di tutto, il nome del flusso utente è incluso nel claim acr del token ID, vedere claim che rappresenta il flusso utente. L'altra opzione consiste nel codificare il flusso utente nel valore del state parametro quando si emette la richiesta e quindi decodificarlo per determinare quale flusso utente è stato usato. Entrambi i metodi sono validi.

Dopo aver acquisito il documento di metadati dall'endpoint dei metadati OpenID Connect, è possibile usare le chiavi pubbliche RSA 256 per convalidare la firma del token ID. In questo endpoint potrebbero essere elencate più chiavi, ognuna identificata da un'attestazione kid . L'intestazione del token ID contiene anche un'attestazione kid , che indica quale di queste chiavi è stata usata per firmare il token ID.

Per verificare i token da Azure AD B2C, è necessario generare la chiave pubblica usando exponent(e) e modulus(n). A tale scopo, è necessario imparare a generare la chiave pubblica in un linguaggio di programmazione preferito. La documentazione ufficiale sulla generazione di chiavi pubbliche con il protocollo RSA è disponibile qui: https://tools.ietf.org/html/rfc3447#section-3.1

Dopo aver convalidato la firma del token ID, è necessario verificare diverse attestazioni. Per esempio:

  • Convalidare l'attestazione nonce per impedire attacchi di riproduzione del token. Il valore deve essere quello specificato nella richiesta di accesso.
  • Convalidare l'attestazione aud per assicurarsi che il token ID sia stato emesso per l'applicazione. Il valore dovrebbe essere l'ID dell'applicazione.
  • Validare le dichiarazioni iat e exp per assicurarsi che il token ID non sia scaduto.

Sono inoltre disponibili diverse altre convalide da eseguire. Le convalide sono descritte in dettaglio nella specifica OpenID Connect Core. È anche possibile convalidare più attestazioni, a seconda dello scenario. Alcune convalide comuni includono:

  • Assicurarsi che l'utente o l'organizzazione si sia iscritto all'applicazione.
  • Assicurarsi che l'utente disponga di autorizzazioni/privilegi appropriati.
  • Assicurarsi che si sia verificata una certa attendibilità dell'autenticazione, ad esempio l'autenticazione a più fattori Microsoft Entra.

Dopo aver convalidato il token ID, è possibile iniziare una sessione con l'utente. È possibile usare le attestazioni nel token ID per ottenere informazioni sull'utente nell'applicazione. Gli usi per queste informazioni includono la visualizzazione, i record e l'autorizzazione.

Ottenere un token

Se è necessario che l'applicazione Web esegua solo flussi utente, è possibile ignorare le sezioni successive. Queste sezioni sono applicabili solo alle applicazioni Web che devono effettuare chiamate autenticate a un'API Web, protetta da Azure AD B2C stesso.

È possibile riscattare il codice di autorizzazione acquisito (usando response_type=code+id_token) per un token alla risorsa desiderata inviando una POST richiesta all'endpoint /token . In Azure AD B2C è possibile richiedere token di accesso per altre API come di consueto specificando gli ambiti nella richiesta.

È anche possibile richiedere un token di accesso per l'API Web back-end dell'app. In questo caso, si usa l'ID client dell'app come ambito richiesto, che genera un token di accesso con tale ID client come "audience":

POST https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/token HTTP/1.1
Host: {tenant}.b2clogin.com
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&scope=00001111-aaaa-2222-bbbb-3333cccc4444 offline_access
&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...
&redirect_uri=urn:ietf:wg:oauth:2.0:oob
Parametro Obbligatorio Descrizione
{tenant} Nome del tenant di Azure AD B2C
{politica} Flusso utente usato per acquisire il codice di autorizzazione. Non è possibile usare un flusso utente diverso in questa richiesta. Aggiungere questo parametro alla stringa di query, non al corpo POST.
ID cliente L'ID dell'applicazione assegnato dal portale di Azure alla tua applicazione.
segreto_cliente Sì, nelle applicazioni web Segreto dell'applicazione generato nel portale di Azure. I segreti client vengono usati in questo flusso per gli scenari di app Web, in cui il client può archiviare in modo sicuro un segreto client. Per gli scenari di app nativa (client pubblico), i segreti client non possono essere archiviati in modo sicuro, pertanto non vengono usati in questo flusso. Se si usa un segreto del client, cambiarlo regolarmente.
codice Codice di autorizzazione acquisito all'inizio del flusso utente.
tipo_di_concessione Tipo di concessione, che deve essere authorization_code per il flusso del codice di autorizzazione.
uri_di_reindirizzamento NO Parametro redirect_uri dell'applicazione in cui è stato ricevuto il codice di autorizzazione.
scopo NO Elenco di ambiti separati da spazi. L'ambito openid indica un'autorizzazione per accedere all'utente e ottenere dati sull'utente sotto forma di parametri id_token. Può essere usato per ottenere token per l'API web back-end della propria applicazione, che è rappresentata dallo stesso ID dell'applicazione del client. L'ambito offline_access indica che l'applicazione necessita di un token di aggiornamento per l'accesso esteso alle risorse.

Una risposta di token con esito positivo ha un aspetto simile al seguente:

{
    "not_before": "1442340812",
    "token_type": "Bearer",
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
    "scope": "00001111-aaaa-2222-bbbb-3333cccc4444 offline_access",
    "expires_in": "3600",
    "expires_on": "1644254945",
    "refresh_token": "AAQfQmvuDy8WtUv-sd0TBwWVQs1rC-Lfxa_NDkLqpg50Cxp5Dxj0VPF1mx2Z...",
}
Parametro Descrizione
non prima di Periodo in cui il token diventa valido.
tipo di token Valore del tipo di token. Bearer è l'unico tipo supportato.
token di accesso Il JWT firmato che hai richiesto.
scopo Gli ambiti validi per il token.
scade_in Periodo di tempo in cui il token di accesso è valido (in secondi).
scade_il Periodo di tempo in cui il token di accesso non è valido.
token di aggiornamento Token di aggiornamento di OAuth 2.0. L'applicazione può usare questo token per acquisire più token dopo la scadenza del token corrente. I token di aggiornamento possono essere usati per mantenere l'accesso alle risorse per lunghi periodi di tempo. L'ambito offline_access deve essere stato usato sia nelle richieste di autorizzazione che di token per ricevere un token di aggiornamento.

Le risposte di errore hanno un aspetto simile al seguente:

{
    "error": "invalid_grant",
    "error_description": "AADB2C90080: The provided grant has expired. Please re-authenticate and try again. Current time: xxxxxxxxxx, Grant issued time: xxxxxxxxxx, Grant expiration time: xxxxxxxxxx\r\nCorrelation ID: xxxxxxxx-xxxx-xxxX-xxxx-xxxxxxxxxxxx\r\nTimestamp: xxxx-xx-16 xx:10:52Z\r\n"
}
Parametro Descrizione
Errore Codice che può essere usato per classificare i tipi di errori che si verificano.
descrizione_errore Messaggio che consente di identificare la causa radice di un errore di autenticazione.

Usare il token

Dopo aver acquisito correttamente un token di accesso, è possibile usare il token nelle richieste alle API Web back-end includendolo nell'intestazione Authorization :

GET /tasks
Host: mytaskwebapi.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...

Aggiornare il token

I token di accesso e i token ID sono di breve durata. Dopo la scadenza, è necessario aggiornarli per continuare ad accedere alle risorse. Quando si aggiorna il token di accesso, Azure AD B2C restituisce un nuovo token. Il token di accesso aggiornato avrà aggiornato nbf (non prima di), iat (emesso il) e exp (scadenza) i valori delle attestazioni. Tutti gli altri valori di attestazione sono simili a quelli del token di accesso precedente.

Aggiornare un token inviando un'altra POST richiesta all'endpoint /token . Questa volta specificare il refresh_token parametro anziché il code parametro :

POST https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/token HTTP/1.1
Host: {tenant}.b2clogin.com
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
&client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&scope=openid offline_access
&refresh_token=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...
&redirect_uri=urn:ietf:wg:oauth:2.0:oob
Parametro Obbligatorio Descrizione
{tenant} Nome del tenant di Azure AD B2C
{politica} Flusso utente usato per acquisire il token di aggiornamento originale. Non è possibile usare un flusso utente diverso in questa richiesta. Aggiungere questo parametro alla stringa di query, non al corpo POST.
ID cliente L'ID dell'applicazione assegnato dal portale di Azure alla tua applicazione.
segreto_cliente Sì, nelle applicazioni web Segreto dell'applicazione generato nel portale di Azure. I segreti client vengono usati in questo flusso per gli scenari di app Web, in cui il client può archiviare in modo sicuro un segreto client. Per gli scenari di app nativa (client pubblico), i segreti client non possono essere archiviati in modo sicuro, pertanto non vengono usati in questa chiamata. Se si utilizza un segreto del cliente, per favore modificarlo periodicamente.
tipo_di_concessione Tipo di concessione, che deve essere refresh_token per questa parte del flusso del codice di autorizzazione.
token di aggiornamento Il token di aggiornamento originale che è stato acquisito nella seconda parte del flusso. L'ambito offline_access deve essere usato nelle richieste di autorizzazione e token per ricevere un token di aggiornamento.
uri_di_reindirizzamento NO Parametro redirect_uri dell'applicazione in cui è stato ricevuto il codice di autorizzazione.
scopo NO Elenco di ambiti separati da spazi. L'ambito openid indica un'autorizzazione per l'accesso dell'utente e per ottenere i dati relativi all'utente sotto forma di token ID. Può essere utilizzato per inviare token al back-end dell'API web della propria applicazione, che è identificato dallo stesso ID applicazione del client. L'ambito offline_access indica che l'applicazione necessita di un token di aggiornamento per l'accesso esteso alle risorse.

Una risposta di token con esito positivo ha un aspetto simile al seguente:

{
    "not_before": "1442340812",
    "token_type": "Bearer",
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
    "scope": "00001111-aaaa-2222-bbbb-3333cccc4444 offline_access",
    "expires_in": "3600",
    "refresh_token": "AAQfQmvuDy8WtUv-sd0TBwWVQs1rC-Lfxa_NDkLqpg50Cxp5Dxj0VPF1mx2Z...",
    "refresh_token_expires_in": "1209600"
}
Parametro Descrizione
non prima di Periodo in cui il token diventa valido.
tipo di token Valore del tipo di token. Bearer è l'unico tipo supportato.
token di accesso Il token JWT firmato richiesto.
scopo Gli ambiti validi per il token.
scade_in Periodo di tempo in cui il token di accesso è valido (in secondi).
token di aggiornamento Token di aggiornamento di OAuth 2.0. L'applicazione può usare questo token per acquisire token aggiuntivi dopo la scadenza del token corrente. I token di aggiornamento possono essere usati per mantenere l'accesso alle risorse per lunghi periodi di tempo.
refresh_token_expires_in Periodo di tempo in cui il token di aggiornamento è valido (in secondi).

Le risposte di errore hanno un aspetto simile al seguente:

{
    "error": "invalid_grant",
    "error_description": "AADB2C90129: The provided grant has been revoked. Please reauthenticate and try again.\r\nCorrelation ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\r\nTimestamp: xxxx-xx-xx xx:xx:xxZ\r\n",
}
Parametro Descrizione
Errore Codice che può essere usato per classificare i tipi di errori che si verificano.
descrizione_errore Messaggio che consente di identificare la causa radice di un errore di autenticazione.

Inviare una richiesta di disconnessione

Quando si vuole disconnettere l'utente dall'applicazione, non è sufficiente cancellare i cookie dell'applicazione o terminare la sessione con l'utente. Reindirizzare l'utente ad Azure AD B2C per disconnettersi. In caso contrario, l'utente potrebbe essere in grado di ripetere l'autenticazione all'applicazione senza immettere di nuovo le credenziali. Per altre informazioni, vedere Comportamento della sessione di Azure AD B2C.

Per disconnettere l'utente, reindirizzare l'utente all'oggetto end_session_endpoint elencato nel documento dei metadati openID Connect descritto in precedenza:

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/logout?post_logout_redirect_uri=https%3A%2F%2Fjwt.ms%2F
Parametro Obbligatorio Descrizione
{tenant} Nome del tenant di Azure AD B2C. Se si usa un dominio personalizzato, sostituire tenant.b2clogin.com con il dominio, ad esempio fabrikam.com.
{politica} Flusso utente specificato nella richiesta di autorizzazione. Ad esempio, se l'utente ha effettuato l'accesso tramite il flusso utente b2c_1_sign_in, specificare il b2c_1_sign_in nella richiesta di disconnessione.
id_token_hint NO Un token ID rilasciato in precedenza da fornire all'endpoint di logout per fornire un'indicazione sulla sessione autenticata corrente dell'utente finale con il client. id_token_hint garantisce che post_logout_redirect_uri sia un URL di risposta registrato nelle impostazioni dell'applicazione Azure AD B2C. Per ulteriori informazioni, vedere Proteggere il reindirizzamento del logout.
ID cliente No* L'ID dell'applicazione assegnato dal portale di Azure alla tua applicazione.

* Questa operazione è necessaria quando si usa la Application configurazione SSO di isolamento e Richiedi token ID nella richiesta di disconnessione è impostato su No.
URI di reindirizzamento post-logout NO URL a cui l'utente deve essere reindirizzato dopo la disconnessione riuscita. Se non è incluso, Azure AD B2C mostra all'utente un messaggio generico. Se non si fornisce un id_token_hint, non dovresti registrare questo URL come URL di risposta nelle impostazioni dell'applicazione Azure AD B2C.
stato NO Se si include un state parametro nella richiesta di autorizzazione, il server di autorizzazione restituisce lo stesso valore nella risposta a post_logout_redirect_uri. L'applicazione deve verificare che il state valore nella richiesta e nella risposta sia identico.

Dopo una richiesta di disconnessione, Azure AD B2C invalida la sessione basata su cookie di Azure AD B2C e tenta di disconnettersi dai provider di identità federati. Per altre informazioni, vedere Single Sign-Out.

Assicurati di proteggere il reindirizzamento del logout

Dopo la disconnessione, l'utente viene reindirizzato all'URI specificato nel post_logout_redirect_uri parametro, indipendentemente dagli URL di risposta specificati per l'applicazione. Tuttavia, se viene passato un valore valido id_token_hint e l'opzione Richiedi token ID nelle richieste di disconnessione è attivata, Azure AD B2C verifica che il valore di post_logout_redirect_uri corrisponda a uno degli URI di reindirizzamento configurati dell'applicazione prima di eseguire il reindirizzamento. Se non è stato configurato alcun URL di risposta corrispondente per l'applicazione, viene visualizzato un messaggio di errore e l'utente non viene reindirizzato.

Per impostare il token ID richiesto nelle richieste di disconnessione, vedere Configurare il comportamento della sessione in Azure Active Directory B2C.