Egyoldalas alkalmazás-bejelentkezés az OAuth 2.0 implicit folyamatával az Azure Active Directory B2C-ben

Számos modern alkalmazás rendelkezik egyoldalas alkalmazás (SPA) előtérrel, amely elsősorban JavaScriptben van megírva. Az alkalmazást gyakran olyan keretrendszerrel írják, mint a React, Angular vagy Vue.js. Az elsődlegesen böngészőben futó SPA-k és más JavaScript-alkalmazások további problémákat jelentenek a hitelesítéshez:

  • Ezeknek az alkalmazásoknak a biztonsági jellemzői eltérnek a hagyományos kiszolgálóalapú webalkalmazásoktól.

  • Számos engedélyezési kiszolgáló és identitásszolgáltató nem támogatja az eltérő eredetű erőforrások megosztására (CORS) vonatkozó kéréseket.

  • Az alkalmazástól távol lévő teljes oldalas böngészőátirányítások invazívak lehetnek a felhasználói élményben.

Az SLA-k támogatásának ajánlott módja az OAuth 2.0 engedélyezési kódfolyamat (PKCE-vel).

Egyes keretrendszerek, például MSAL.js 1.x, csak az implicit engedélyezési folyamatot támogatják. Ezekben az esetekben az Azure Active Directory B2C (Azure AD B2C) támogatja az OAuth 2.0 engedélyezési implicit engedélyezési folyamatot. A folyamatot az OAuth 2.0 specifikációjának 4.2. szakasza ismerteti. Implicit folyamat esetén az alkalmazás közvetlenül a Azure AD B2C engedélyezési végpontról fogad jogkivonatokat, kiszolgáló-kiszolgáló közötti csere nélkül. Az összes hitelesítési logika és munkamenet-kezelés teljes egészében a JavaScript-ügyfélen történik egy lapátirányítással vagy egy előugró mezővel.

Azure AD B2C kibővíti a standard OAuth 2.0 implicit folyamatot több mint egyszerű hitelesítésre és engedélyezésre. Azure AD B2C bevezeti a szabályzatparamétert. A szabályzatparaméterrel az OAuth 2.0 használatával szabályzatokat adhat az alkalmazáshoz, például a regisztrációt, a bejelentkezést és a profilkezelési felhasználói folyamatokat. A cikkben szereplő HTTP-kérelmek példában a {tenant}.onmicrosoft.com szemléltetést használjuk. Cserélje le {tenant}a elemet a bérlő nevére , ha van ilyenje. Emellett létre kell hoznia egy felhasználói folyamatot is.

Az alábbi ábrán az implicit bejelentkezési folyamatot szemléltetjük. A cikk későbbi részében részletesen ismertetünk minden lépést.

Sáv stílusú diagram az OpenID Connect implicit folyamatával

Hitelesítési kérések küldése

Ha a webalkalmazásnak hitelesítenie kell a felhasználót, és futtatnia kell egy felhasználói folyamatot, a felhasználót a B2C végpontjára /authorize irányítja a Azure AD. A felhasználó a felhasználói folyamattól függően hajt végre műveletet.

Ebben a kérelemben az ügyfél jelzi azokat az engedélyeket, amelyeket a paraméterben a felhasználótól és a scope futtatandó felhasználói folyamattól kell beszereznie. A kérés működésének megismeréséhez próbálja meg beilleszteni a kérést egy böngészőbe, és futtatni. Cserélje le ezt:

  • {tenant}a Azure AD B2C-bérlő nevével.

  • 90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 a bérlőben regisztrált alkalmazás alkalmazásazonosítójával.

  • {policy} a bérlőben létrehozott szabályzat nevével, például b2c_1_sign_in: .

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?
client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6
&response_type=id_token+token
&redirect_uri=https%3A%2F%2Faadb2cplayground.azurewebsites.net%2F
&response_mode=fragment
&scope=openid%20offline_access
&state=arbitrary_data_you_can_receive_in_the_response
&nonce=12345

A HTTP GET kérés paramétereit az alábbi táblázatban ismertetjük.

Paraméter Kötelező Leírás
{tenant} Yes A Azure AD B2C-bérlő neve
{policy} Yes A futtatni kívánt felhasználói folyamat neve. Adja meg a Azure AD B2C-bérlőben létrehozott felhasználói folyamat nevét. Például: b2c_1_sign_in, b2c_1_sign_upvagy b2c_1_edit_profile.
client_id Yes Az alkalmazásazonosító, amelyet a Azure Portal hozzárendelt az alkalmazáshoz.
response_type Yes Tartalmaznia id_token kell az OpenID Connect-bejelentkezést. A választípust tokenis tartalmazhatja. Ha a parancsot használja token, az alkalmazás azonnal megkaphat egy hozzáférési jogkivonatot az engedélyezési végponttól anélkül, hogy egy második kérést küldenének az engedélyezési végpontnak. Ha a választípust token használja, a scope paraméternek tartalmaznia kell egy hatókört, amely jelzi, hogy melyik erőforrásnak adja ki a jogkivonatot.
redirect_uri No Az alkalmazás átirányítási URI-ja, ahol az alkalmazás hitelesítési válaszokat küldhet és fogadhat. Pontosan meg kell egyeznie a portálon regisztrált alkalmazáshoz hozzáadott átirányítási URI-k egyikével, azzal a kivételrel, hogy URL-kódolással kell rendelkeznie.
response_mode No Az eredményül kapott jogkivonat alkalmazásba való visszaküldéséhez használandó metódust adja meg. Implicit folyamatok esetén használja a következőt fragment: .
scope Yes A hatókörök szóközzel elválasztott listája. Egyetlen hatókörérték jelzi, hogy Microsoft Entra mindkét kért engedély azonosítóját. A openid hatókör azt jelzi, hogy a felhasználó bejelentkezhet, és azonosító jogkivonatok formájában lekérheti a felhasználó adatait. A offline_access hatókör nem kötelező webalkalmazásokhoz. Azt jelzi, hogy az alkalmazásnak frissítési jogkivonatra van szüksége az erőforrásokhoz való hosszú élettartamú hozzáféréshez.
állapot No A kérésben szereplő érték, amelyet a rendszer a jogkivonat-válaszban is visszaad. Bármilyen használni kívánt tartalom sztringje lehet. A rendszer általában véletlenszerűen generált egyedi értéket használ a helyek közötti kéréshamisítási támadások megelőzésére. Az állapot a felhasználó állapotával kapcsolatos információk kódolására is használható az alkalmazásban a hitelesítési kérés végrehajtása előtt, például a felhasználó oldalán vagy a végrehajtott felhasználói folyamaton.
nemce Yes A kérelemben szereplő (az alkalmazás által létrehozott) érték, amely jogcímként szerepel az eredményül kapott azonosító jogkivonatban. Az alkalmazás ezután ellenőrizheti ezt az értéket a jogkivonat-visszajátszási támadások mérséklése érdekében. Az érték általában egy véletlenszerű, egyedi sztring, amely a kérés eredetének azonosítására használható.
Gyors No A szükséges felhasználói beavatkozás típusa. Jelenleg az egyetlen érvényes érték.login Ez a paraméter arra kényszeríti a felhasználót, hogy adja meg a hitelesítő adatait a kérelemben. Az egyetlen Sign-On nem lép érvénybe.

Ez a folyamat interaktív része. A rendszer felkéri a felhasználót, hogy végezze el a szabályzat munkafolyamatát. Előfordulhat, hogy a felhasználónak meg kell adnia a felhasználónevét és jelszavát, be kell jelentkeznie egy közösségi identitással, regisztrálnia kell egy helyi fiókot vagy bármilyen más lépést. A felhasználói műveletek a felhasználói folyamat definiálásától függenek.

Miután a felhasználó befejezte a felhasználói folyamatot, Azure AD A B2C választ ad vissza az alkalmazásnak a használatával.redirect_uri A paraméterben megadott metódust response_mode használja. A válasz minden felhasználói műveleti forgatókönyv esetében pontosan ugyanaz, függetlenül a végrehajtott felhasználói folyamattól.

Sikeres válasz

Egy sikeres válasz, amely a következőhöz hasonlót használ response_mode=fragment és response_type=id_token+token néz ki, az olvashatóság érdekében sortörésekkel:

GET https://aadb2cplayground.azurewebsites.net/#
access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&token_type=Bearer
&expires_in=3599
&scope="90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 offline_access",
&id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&state=arbitrary_data_you_sent_earlier
Paraméter Leírás
access_token Az alkalmazás által Azure AD B2C-től kért hozzáférési jogkivonat.
token_type A jogkivonat típusának értéke. A B2C Azure AD csak a Tulajdonos típust támogatja.
expires_in A hozzáférési jogkivonat érvényességének időtartama (másodpercben).
scope Azok a hatókörök, amelyekre a jogkivonat érvényes. Hatókörök használatával is gyorsítótárazhatja a jogkivonatokat későbbi használatra.
id_token Az alkalmazás által kért azonosító jogkivonat. Az azonosító jogkivonat használatával ellenőrizheti a felhasználó identitását, és munkamenetet indíthat a felhasználóval. Az azonosító jogkivonatokkal és azok tartalmával kapcsolatos további információkért lásd a Azure AD B2C-jogkivonatok referenciáját.
állapot Ha egy state paraméter szerepel a kérelemben, akkor ugyanaz az érték jelenik meg a válaszban. Az alkalmazásnak ellenőriznie kell, hogy a state kérésben és a válaszban szereplő értékek azonosak-e.

Hibaválasz

A hibaválaszok elküldhetők az átirányítási URI-nak is, hogy az alkalmazás megfelelően kezelje őket:

GET https://aadb2cplayground.azurewebsites.net/#
error=access_denied
&error_description=the+user+canceled+the+authentication
&state=arbitrary_data_you_can_receive_in_the_response
Paraméter Leírás
error A felmerülő hibák típusainak besorolására szolgáló kód.
error_description Egy adott hibaüzenet, amely segíthet azonosítani a hitelesítési hiba kiváltó okát.
állapot Ha egy state paraméter szerepel a kérelemben, akkor ugyanaz az érték jelenik meg a válaszban. Az alkalmazásnak ellenőriznie kell, hogy a state kérésben és a válaszban szereplő értékek azonosak-e.

Az azonosító jogkivonat ellenőrzése

Az azonosító jogkivonat fogadása nem elegendő a felhasználó hitelesítéséhez. Ellenőrizze az azonosító jogkivonat aláírását, és ellenőrizze a jogkivonatban szereplő jogcímeket az alkalmazás követelményeinek megfelelően. Azure AD B2C JSON webes jogkivonatokat (JWT-ket) és nyilvános kulcsú titkosítást használ a tokenek aláírásához és érvényességének ellenőrzéséhez.

A JWT-k érvényesítéséhez számos nyílt forráskódú kódtár érhető el a használni kívánt nyelvtől függően. Fontolja meg az elérhető nyílt forráskódú kódtárak felfedezését ahelyett, hogy saját érvényesítési logikát implementál. A cikkben található információk segítségével megtudhatja, hogyan használhatja megfelelően ezeket a kódtárakat.

Azure AD B2C rendelkezik OpenID Connect-metaadat-végponttal. Az alkalmazások a végpont használatával lekérhetik az Azure AD B2C-vel kapcsolatos információkat futásidőben. Ezek az információk végpontokat, jogkivonat-tartalmakat és jogkivonat-aláíró kulcsokat tartalmaznak. A Azure AD B2C-bérlő minden felhasználói folyamatához tartozik egy JSON-metaadat-dokumentum. Egy bérlőben fabrikamb2c.onmicrosoft.com nevű b2c_1_sign_in felhasználói folyamat metaadat-dokumentuma például a következő helyen található:

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

A konfigurációs dokumentum egyik tulajdonsága a jwks_uri. Ugyanannak a felhasználói folyamatnak az értéke a következő:

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

Annak megállapításához, hogy melyik felhasználói folyamatot használta egy azonosító jogkivonat aláírásához (és honnan szeretné lekérni a metaadatokat), az alábbi lehetőségek bármelyikét használhatja:

  • A felhasználói folyamat neve szerepel a acr jogcímben.id_token A jogcímek azonosítótokenből való elemzéséről a Azure AD B2C-jogkivonat referenciájában talál további információt.

  • Kódolja a felhasználói folyamatot a paraméter értékében a state kérés kiadásakor. Ezután dekódolja a paramétert annak state meghatározásához, hogy melyik felhasználói folyamatot használta.

Miután beszerezte a metaadat-dokumentumot az OpenID Connect metaadat-végpontjáról, az RSA-256 nyilvános kulcsokkal (ezen a végponton található) ellenőrizheti az azonosító jogkivonat aláírását. Ezen a végponton egy adott időpontban több kulcs is szerepelhet, amelyeket a kidrendszer azonosít. A fejléce id_token egy jogcímet kid is tartalmaz. Azt jelzi, hogy ezek közül a kulcsok közül melyiket használták az azonosító jogkivonat aláírására. További információkért, beleértve a jogkivonatok érvényesítésének megismerését, tekintse meg a Azure AD B2C-token referenciáját.

Az azonosító jogkivonat aláírásának ellenőrzése után több jogcímet is ellenőrizni kell. Például:

  • Ellenőrizze a jogcímet a nonce token-visszajátszási támadások megelőzése érdekében. Az értéknek a bejelentkezési kérelemben megadott értéknek kell lennie.

  • Ellenőrizze a jogcímet aud annak ellenőrzéséhez, hogy az azonosító jogkivonat ki lett-e állítva az alkalmazáshoz. Az értéknek az alkalmazás alkalmazásazonosítójának kell lennie.

  • Ellenőrizze a és exp a iat jogcímet annak ellenőrzéséhez, hogy az azonosító jogkivonata nem járt-e le.

Az OpenID Connect Core-specifikáció részletesen ismerteti, hogy milyen további érvényesítéseket kell elvégeznie. A forgatókönyvtől függően további jogcímeket is érdemes lehet érvényesíteni. Néhány gyakori ellenőrzés:

  • Győződjön meg arról, hogy a felhasználó vagy a szervezet regisztrált az alkalmazásra.

  • Annak biztosítása, hogy a felhasználó megfelelő engedélyekkel és jogosultságokkal rendelkezik.

  • A hitelesítés bizonyos erősségének biztosítása, például Microsoft Entra többtényezős hitelesítés használatával.

Az azonosítótokenek jogcímeiről további információt a Azure AD B2C-token referenciájában talál.

Az azonosító jogkivonat érvényesítése után megkezdheti a munkamenetet a felhasználóval. Az alkalmazásban használja az azonosító jogkivonatban található jogcímeket a felhasználóval kapcsolatos információk lekéréséhez. Ezek az információk megjeleníthetők, rögzíthetők, engedélyezhetők stb.

Hozzáférési jogkivonatok lekérése

Ha a webalkalmazások csak felhasználói folyamatokat hajtanak végre, kihagyhatja a következő néhány szakaszt. A következő szakaszokban szereplő információk csak azokra a webalkalmazásokra vonatkoznak, amelyeknek hitelesített hívásokat kell indítaniuk egy olyan webes API-hoz, amelyet maga Azure AD B2C véd.

Most, hogy bejelentkezett a felhasználóval az SPA-ba, hozzáférési jogkivonatokat kaphat a Microsoft Entra azonosítóval védett webes API-k meghívásához. Még ha már kapott is jogkivonatot a választípus használatával, ezzel a token módszerrel további erőforrásokhoz is beszerezhet jogkivonatokat anélkül, hogy átirányítja a felhasználót az újbóli bejelentkezésre.

Egy tipikus webalkalmazás-folyamatban kérést kell küldenie a /token végpontnak. A végpont azonban nem támogatja a CORS-kéréseket, ezért nem lehet AJAX-hívásokat kezdeményezni a frissítési jogkivonat lekéréséhez. Ehelyett használhatja az implicit folyamatot egy rejtett HTML iframe-elemben, hogy új jogkivonatokat szerezzen be más webes API-khoz. Íme egy példa, az olvashatóság érdekében sortörésekkel:

https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?
client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6
&response_type=token
&redirect_uri=https%3A%2F%2Faadb2cplayground.azurewebsites.net%2F
&scope=https%3A%2F%2Fapi.contoso.com%2Ftasks.read
&response_mode=fragment
&state=arbitrary_data_you_can_receive_in_the_response
&nonce=12345
&prompt=none
Paraméter Kötelező? Description
{tenant} Kötelező A Azure AD B2C-bérlő neve
{policy} Kötelező A futtatni kívánt felhasználói folyamat. Adja meg a Azure AD B2C-bérlőben létrehozott felhasználói folyamat nevét. Például: b2c_1_sign_in, b2c_1_sign_upvagy b2c_1_edit_profile.
client_id Kötelező Az alkalmazáshoz rendelt alkalmazásazonosító a Azure Portal.
response_type Kötelező Tartalmaznia id_token kell az OpenID Connect-bejelentkezést. A választípust tokenis tartalmazhatja. Ha itt használja token , az alkalmazás azonnal megkaphat egy hozzáférési jogkivonatot az engedélyezési végponttól anélkül, hogy egy második kérést küldenének az engedélyezési végpontnak. Ha a választípust token használja, a scope paraméternek tartalmaznia kell egy hatókört, amely jelzi, hogy melyik erőforrásnak adja ki a jogkivonatot.
redirect_uri Ajánlott Az alkalmazás átirányítási URI-ja, ahol az alkalmazás hitelesítési válaszokat küldhet és fogadhat. Pontosan meg kell egyeznie a portálon regisztrált átirányítási URI-k egyikével, kivéve, hogy URL-kódolásúnak kell lennie.
scope Kötelező A hatókörök szóközzel elválasztott listája. A jogkivonatok lekéréséhez adja meg a kívánt erőforráshoz szükséges összes hatókört.
response_mode Ajánlott Megadja azt a metódust, amellyel az eredményül kapott jogkivonatot visszaküldi az alkalmazásnak. Implicit folyamat esetén használja a következőt fragment: . Két másik mód is megadható, query a és form_posta, de nem működnek az implicit folyamatban.
állapot Ajánlott A jogkivonat-válaszban visszaadott kérésben szereplő érték. Bármilyen használni kívánt tartalom sztringje lehet. A rendszer általában véletlenszerűen generált egyedi értéket használ a helyek közötti kérelemhamisítási támadások megelőzésére. Az állapotot arra is használják, hogy a hitelesítési kérés előtt kódolja a felhasználó állapotával kapcsolatos információkat az alkalmazásban. Például az a lap vagy nézet, amelyen a felhasználó be volt kapcsolva.
nonce Kötelező A kérelemben szereplő érték, amelyet az alkalmazás hoz létre, amely jogcímként szerepel az eredményül kapott azonosító jogkivonatában. Az alkalmazás ezután ellenőrizheti ezt az értéket a token-visszajátszási támadások mérsékléséhez. Az érték általában egy véletlenszerű, egyedi sztring, amely azonosítja a kérés eredetét.
Gyors Kötelező Ha egy rejtett iframe-ben szeretné frissíteni és lekérni a jogkivonatokat, győződjön meg arról, prompt=none hogy az iframe nem elakad a bejelentkezési oldalon, és azonnal visszatér.
login_hint Kötelező A tokenek rejtett iframe-ben való frissítéséhez és lekéréséhez adja meg a felhasználó felhasználónevét ebben a tippben, hogy megkülönböztesse a felhasználó által adott időpontban esetleg több munkamenetet. A felhasználónevet a jogcím használatával preferred_username kinyerheti egy korábbi bejelentkezésből (a kérelem fogadásához preferred_username a profile hatókör szükséges).
domain_hint Kötelező A következők egyike lehet: consumers vagy organizations. A tokenek rejtett iframe-ben való frissítéséhez és lekéréséhez adja meg a domain_hint kérés értékét. Bontsa ki a tid jogcímet egy korábbi bejelentkezés azonosító jogkivonatából annak meghatározásához, hogy melyik értéket kell használnia (a profile hatókörre a jogcím fogadásához tid van szükség). Ha a tid jogcím értéke , használja a 9188040d-6c67-4c5b-b112-36a304b66dadkövetkezőt domain_hint=consumers: . Ellenkező esetben használja a következőt domain_hint=organizations: .

A paraméter beállításával ez a prompt=none kérés sikeres vagy azonnal meghiúsul, és visszatér az alkalmazáshoz. A rendszer az átirányítási URI-on keresztül küld sikeres választ az alkalmazásnak a response_mode paraméterben megadott módszerrel.

Sikeres válasz

A sikeres válasz az response_mode=fragment alábbi példához hasonlóan néz ki:

GET https://aadb2cplayground.azurewebsites.net/#
access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&state=arbitrary_data_you_sent_earlier
&token_type=Bearer
&expires_in=3599
&scope=https%3A%2F%2Fapi.contoso.com%2Ftasks.read
Paraméter Leírás
access_token Az alkalmazás által kért jogkivonat.
token_type A jogkivonat típusa mindig Tulajdonos lesz.
állapot Ha egy state paraméter szerepel a kérelemben, akkor ugyanaz az érték jelenik meg a válaszban. Az alkalmazásnak ellenőriznie kell, hogy a state kérés és a válasz értékei azonosak-e.
expires_in Mennyi ideig érvényes a hozzáférési jogkivonat (másodpercben).
scope Azok a hatókörök, amelyekre a hozzáférési jogkivonat érvényes.

Hibaválasz

A hibaválaszok elküldhetők az átirányítási URI-nak is, hogy az alkalmazás megfelelően tudja kezelni őket. A esetében prompt=nonea várt hiba az alábbi példához hasonlóan néz ki:

GET https://aadb2cplayground.azurewebsites.net/#
error=user_authentication_required
&error_description=the+request+could+not+be+completed+silently
Paraméter Leírás
error Hibakódsztring, amely a előforduló hibák típusainak besorolására használható. A sztring használatával is reagálhat a hibákra.
error_description Egy adott hibaüzenet, amely segíthet azonosítani a hitelesítési hiba kiváltó okát.

Ha ezt a hibaüzenetet kapja az iframe-kérelemben, a felhasználónak újra interaktívan be kell jelentkeznie egy új jogkivonat lekéréséhez.

Jogkivonatok frissítése

Az azonosító jogkivonatok és a hozzáférési jogkivonatok is rövid idő elteltével lejárnak. Az alkalmazásnak készen kell állnia a jogkivonatok rendszeres frissítésére. Az implicit folyamatok biztonsági okokból nem teszik lehetővé a frissítési jogkivonat beszerzését. Bármelyik jogkivonattípus frissítéséhez használja az implicit folyamatot egy rejtett HTML iframe-elemben. Az engedélyezési kérelemben adja meg a paramétert prompt=none . Ha új id_token értéket szeretne kapni, mindenképpen használja response_type=id_token a és scope=openida paramétert nonce .

Kijelentkezés kérésének küldése

Ha ki szeretné jelentkeztetni a felhasználót az alkalmazásból, irányítsa át a felhasználót Azure AD B2C kijelentkezési végpontjára. Ezután törölheti a felhasználó munkamenetét az alkalmazásban. Ha nem irányítja át a felhasználót, előfordulhat, hogy újrahitelesíthetik az alkalmazást anélkül, hogy újra meg kellene adniuk a hitelesítő adataikat, mert érvényes egyetlen Sign-On munkamenettel rendelkeznek Azure AD B2C-vel.

Egyszerűen átirányíthatja a felhasználót az end_session_endpoint OpenID Connect azonos metaadat-dokumentumában felsoroltakra, amely az Azonosító-jogkivonat érvényesítése című szakaszban található. Például:

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/logout?post_logout_redirect_uri=https%3A%2F%2Faadb2cplayground.azurewebsites.net%2F
Paraméter Kötelező Leírás
{tenant} Yes A Azure AD B2C-bérlő neve.
{policy} Yes Az a felhasználói folyamat, amellyel ki szeretné jelentkeztetni a felhasználót az alkalmazásból. Ennek ugyanaznak a felhasználói folyamatnak kell lennie, mint a felhasználó bejelentkezéséhez használt alkalmazásnak.
post_logout_redirect_uri No Az URL-cím, amelybe a felhasználót át kell irányítani a sikeres kijelentkezés után. Ha nem tartalmazza, Azure AD B2C általános üzenetet jelenít meg a felhasználónak.
állapot No Ha egy state paraméter szerepel a kérelemben, akkor ugyanaz az érték jelenik meg a válaszban. Az alkalmazásnak ellenőriznie kell, hogy a state kérés és a válasz értékei azonosak-e.

Megjegyzés

Ha a felhasználót a end_session_endpoint következőre irányítja, törli a felhasználó egy Sign-On állapotát Azure AD B2C-vel. Azonban nem kijelentkezteti a felhasználót a felhasználó közösségi identitásszolgáltatói munkamenetéből. Ha a felhasználó ugyanazt az identitásszolgáltatót választja egy későbbi bejelentkezés során, a rendszer újra hitelesíti a felhasználót a hitelesítő adataik megadása nélkül. Ha egy felhasználó ki szeretne jelentkezni a Azure AD B2C-alkalmazásból, az nem feltétlenül jelenti azt, hogy teljesen ki szeretne jelentkezni a Facebook-fiókjából, például. A helyi fiókok esetében azonban a felhasználó munkamenete megfelelően véget ér.

Következő lépések

Tekintse meg a következő kódmintát: Bejelentkezés Azure AD B2C-vel JavaScript SPA-ban.