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.
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áulb2c_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_up vagy 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 token is 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 annakstate
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 kid
rendszer 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
aiat
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_up vagy 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 token is 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_post a, 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-36a304b66dad kö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=none
a 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=openid
a 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.