Share via


Toepassing met één pagina aanmelden met behulp van de impliciete OAuth 2.0-stroom in Azure Active Directory B2C

Veel moderne toepassingen hebben een spa-front-end (app met één pagina) die voornamelijk in JavaScript is geschreven. Vaak wordt de app geschreven met behulp van een framework zoals React, Angular of Vue.js. SPA's en andere JavaScript-apps die voornamelijk in een browser worden uitgevoerd, hebben enkele extra uitdagingen voor verificatie:

  • De beveiligingskenmerken van deze apps verschillen van traditionele servergebaseerde webtoepassingen.

  • Veel autorisatieservers en id-providers bieden geen ondersteuning voor CORS-aanvragen (Cross-Origin Resource Sharing).

  • Browseromleidingen op volledige pagina's van de app kunnen ingrijpend zijn voor de gebruikerservaring.

De aanbevolen manier om SPA's te ondersteunen, is OAuth 2.0-autorisatiecodestroom (met PKCE).

Sommige frameworks, zoals MSAL.js 1.x, bieden alleen ondersteuning voor de impliciete toekenningsstroom. In deze gevallen ondersteunt Azure Active Directory B2C (Azure AD B2C) de impliciete toekenningsstroom voor OAuth 2.0-autorisatie. De stroom wordt beschreven in sectie 4.2 van de OAuth 2.0-specificatie. In de impliciete stroom ontvangt de app tokens rechtstreeks van het Azure AD B2C-autorisatie-eindpunt, zonder server-naar-server-uitwisseling. Alle verificatielogica en sessieafhandeling worden volledig uitgevoerd in de JavaScript-client met een paginaomleiding of een pop-upvenster.

Azure AD B2C breidt de impliciete standaardstroom van OAuth 2.0 uit naar meer dan alleen eenvoudige verificatie en autorisatie. Azure AD B2C introduceert de beleidsparameter. Met de beleidsparameter kunt u OAuth 2.0 gebruiken om beleidsregels toe te voegen aan uw app, zoals gebruikersstromen voor registratie, aanmelding en profielbeheer. In de voorbeeld-HTTP-aanvragen in dit artikel gebruiken we {tenant}.onmicrosoft.com ter illustratie. Vervang door {tenant}de naam van uw tenant als u er een hebt. U moet ook een gebruikersstroom hebben gemaakt.

We gebruiken de volgende afbeelding om de impliciete aanmeldingsstroom te illustreren. Elke stap wordt verderop in het artikel uitgebreid beschreven.

Diagram in zwembaanstijl met de impliciete OpenID Connect-stroom

Verificatieaanvragen verzenden

Wanneer uw webtoepassing de gebruiker moet verifiëren en een gebruikersstroom moet uitvoeren, wordt de gebruiker naar het Azure AD B2C-eindpunt /authorize geleid. De gebruiker onderneemt actie, afhankelijk van de gebruikersstroom.

In deze aanvraag geeft de client de machtigingen aan die moeten worden verkregen van de gebruiker in de scope parameter en de gebruikersstroom om uit te voeren. Als u een idee wilt krijgen van de werking van de aanvraag, plakt u de aanvraag in een browser en voert u deze uit. Vervang:

  • {tenant}met de naam van uw Azure AD B2C-tenant.

  • 90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 met de app-id van de toepassing die u hebt geregistreerd in uw tenant.

  • {policy} met de naam van een beleid dat u hebt gemaakt in uw tenant, bijvoorbeeld 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

De parameters in de HTTP GET-aanvraag worden uitgelegd in de onderstaande tabel.

Parameter Vereist Beschrijving
{tenant} Yes Naam van uw Azure AD B2C-tenant
{policy} Yes De naam van de gebruikersstroom die u wilt uitvoeren. Geef de naam op van een gebruikersstroom die u hebt gemaakt in uw Azure AD B2C-tenant. Bijvoorbeeld: b2c_1_sign_in, b2c_1_sign_upof b2c_1_edit_profile.
client_id Yes De toepassings-id die de Azure Portal toegewezen aan uw toepassing.
response_type Yes Moet worden opgenomen id_token voor OpenID Connect-aanmelding. Het kan ook het antwoordtype tokenbevatten. Als u gebruikt token, kan uw app onmiddellijk een toegangstoken ontvangen van het autorisatie-eindpunt, zonder een tweede aanvraag naar het autorisatie-eindpunt te doen. Als u het token antwoordtype gebruikt, moet de scope parameter een bereik bevatten dat aangeeft voor welke resource het token moet worden uitgeven.
redirect_uri No De omleidings-URI van uw app, waar verificatiereacties kunnen worden verzonden en ontvangen door uw app. Deze moet exact overeenkomen met een van de omleidings-URI's die u hebt toegevoegd aan een geregistreerde toepassing in de portal, behalve dat deze URL-codering moet hebben.
response_mode No Hiermee geeft u de methode op die moet worden gebruikt om het resulterende token terug te sturen naar uw app. Gebruik fragmentvoor impliciete stromen.
scope Yes Een door spaties gescheiden lijst van bereiken. Eén bereikwaarde geeft aan Microsoft Entra id van beide machtigingen die worden aangevraagd. Het openid bereik geeft een machtiging aan om de gebruiker aan te melden en gegevens over de gebruiker op te halen in de vorm van id-tokens. Het offline_access bereik is optioneel voor web-apps. Dit geeft aan dat uw app een vernieuwingstoken nodig heeft voor langdurige toegang tot resources.
staat No Een waarde die is opgenomen in de aanvraag die ook wordt geretourneerd in het tokenantwoord. Het kan een tekenreeks zijn van alle inhoud die u wilt gebruiken. Meestal wordt een willekeurig gegenereerde, unieke waarde gebruikt om aanvallen op vervalsing van aanvragen op meerdere sites te voorkomen. De status wordt ook gebruikt om informatie te coderen over de status van de gebruiker in de app voordat de verificatieaanvraag plaatsvond, bijvoorbeeld de pagina waarop de gebruiker zich bevond of de gebruikersstroom die werd uitgevoerd.
nonce Yes Een waarde die is opgenomen in de aanvraag (gegenereerd door de app) die als claim is opgenomen in het resulterende id-token. De app kan deze waarde vervolgens verifiëren om aanvallen waarbij tokens worden herhaald te beperken. Meestal is de waarde een gerandomiseerde, unieke tekenreeks die kan worden gebruikt om de oorsprong van de aanvraag te identificeren.
vraag No Het type gebruikersinteractie dat is vereist. Op dit moment is loginde enige geldige waarde . Deze parameter dwingt de gebruiker om zijn referenties in te voeren voor die aanvraag. Eén Sign-On wordt niet van kracht.

Dit is het interactieve deel van de stroom. De gebruiker wordt gevraagd de werkstroom van het beleid te voltooien. De gebruiker moet mogelijk zijn gebruikersnaam en wachtwoord invoeren, zich aanmelden met een sociale identiteit, zich registreren voor een lokaal account of een ander aantal stappen uitvoeren. Gebruikersacties zijn afhankelijk van hoe de gebruikersstroom is gedefinieerd.

Nadat de gebruiker de gebruikersstroom heeft voltooid, retourneert Azure AD B2C een antwoord naar uw app via de redirect_uri. Er wordt gebruikgemaakt van de methode die is opgegeven in de response_mode parameter . Het antwoord is precies hetzelfde voor elk van de gebruikersactiescenario's, onafhankelijk van de gebruikersstroom die is uitgevoerd.

Geslaagde reactie

Een geslaagd antwoord dat gebruikmaakt van response_mode=fragment en response_type=id_token+token eruitziet als het volgende, met regeleinden voor leesbaarheid:

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
Parameter Beschrijving
access_token Het toegangstoken dat de app heeft aangevraagd bij Azure AD B2C.
token_type De waarde van het tokentype. Het enige type dat Azure AD B2C ondersteunt, is Bearer.
expires_in De tijdsduur dat het toegangstoken geldig is (in seconden).
scope De bereiken waarvoor het token geldig is. U kunt ook bereiken gebruiken om tokens in de cache te plaatsen voor later gebruik.
id_token Het id-token dat door de app is aangevraagd. U kunt de id-token gebruiken om de identiteit van de gebruiker te controleren en een sessie met de gebruiker te starten. Zie de naslaginformatie over Azure AD B2C-token voor meer informatie over id-tokens en hun inhoud.
staat Als een state-parameter is opgenomen in de aanvraag, zou dezelfde waarde moeten verschijnen in de reactie. De app moet controleren of de state waarden in de aanvraag en het antwoord identiek zijn.

Foutreactie

Foutreacties kunnen ook worden verzonden naar de omleidings-URI, zodat de app ze op de juiste manier kan verwerken:

GET https://aadb2cplayground.azurewebsites.net/#
error=access_denied
&error_description=the+user+canceled+the+authentication
&state=arbitrary_data_you_can_receive_in_the_response
Parameter Beschrijving
fout Een code die wordt gebruikt voor het classificeren van typen fouten die optreden.
error_description Een specifiek foutbericht waarmee u de hoofdoorzaak van een verificatiefout kunt identificeren.
staat Als een state-parameter is opgenomen in de aanvraag, zou dezelfde waarde moeten verschijnen in de reactie. De app moet controleren of de state waarden in de aanvraag en het antwoord identiek zijn.

De id-token valideren

Het ontvangen van een id-token is niet voldoende om de gebruiker te verifiëren. Valideer de handtekening van het id-token en controleer de claims in het token volgens de vereisten van uw app. Azure AD B2C gebruikt JSON-webtokens (JWT's) en openbare-sleutelcryptografie om tokens te ondertekenen en te controleren of ze geldig zijn.

Er zijn veel opensourcebibliotheken beschikbaar voor het valideren van JWT's, afhankelijk van de taal die u wilt gebruiken. Overweeg om beschikbare opensourcebibliotheken te verkennen in plaats van uw eigen validatielogica te implementeren. U kunt de informatie in dit artikel gebruiken om te leren hoe u deze bibliotheken op de juiste manier kunt gebruiken.

Azure AD B2C een OpenID Connect-metagegevenseindpunt heeft. Een app kan het eindpunt gebruiken om tijdens runtime informatie op te halen over Azure AD B2C. Deze informatie omvat eindpunten, tokeninhoud en tokenondertekeningssleutels. Er is een JSON-metagegevensdocument voor elke gebruikersstroom in uw Azure AD B2C-tenant. Het metagegevensdocument voor een gebruikersstroom met de naam b2c_1_sign_in in een fabrikamb2c.onmicrosoft.com tenant bevindt zich bijvoorbeeld op:

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

Een van de eigenschappen van dit configuratiedocument is de jwks_uri. De waarde voor dezelfde gebruikersstroom is:

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

Als u wilt bepalen welke gebruikersstroom is gebruikt om een id-token te ondertekenen (en waar de metagegevens uit moeten worden opgehaald), kunt u een van de volgende opties gebruiken:

  • De naam van de gebruikersstroom is opgenomen in de acr claim in id_token. Zie de referentie voor Azure AD B2C-token voor meer informatie over het parseren van de claims van een id-token.

  • Codeer de gebruikersstroom in de waarde van de state parameter wanneer u de aanvraag uitgeeft. Decoderen vervolgens de state parameter om te bepalen welke gebruikersstroom is gebruikt.

Nadat u het metagegevensdocument van het OpenID Connect-metagegevenseindpunt hebt verkregen, kunt u de openbare RSA-256-sleutels (op dit eindpunt) gebruiken om de handtekening van het id-token te valideren. Er kunnen op elk gewenst moment meerdere sleutels worden vermeld op dit eindpunt, elk geïdentificeerd door een kid. De header van id_token bevat ook een kid claim. Het geeft aan welke van deze sleutels is gebruikt om het id-token te ondertekenen. Zie de referentie voor Azure AD B2C-token voor meer informatie, waaronder meer informatie over het valideren van tokens.

Nadat u de handtekening van het id-token hebt gevalideerd, vereisen verschillende claims verificatie. Bijvoorbeeld:

  • Valideer de nonce claim om herhalingsaanvallen van tokens te voorkomen. De waarde moet de waarde zijn die u hebt opgegeven in de aanmeldingsaanvraag.

  • Valideer de aud claim om ervoor te zorgen dat het id-token is uitgegeven voor uw app. De waarde moet de toepassings-id van uw app zijn.

  • Valideer de iat claims en exp om ervoor te zorgen dat het id-token niet is verlopen.

Nog meer validaties die u moet uitvoeren, worden in detail beschreven in de OpenID Connect Core Spec. Mogelijk wilt u ook aanvullende claims valideren, afhankelijk van uw scenario. Enkele vaak voorkomende validaties omvatten:

  • Ervoor zorgen dat de gebruiker of organisatie zich heeft geregistreerd voor de app.

  • Ervoor zorgen dat de gebruiker de juiste autorisatie en bevoegdheden heeft.

  • Ervoor zorgen dat een bepaalde verificatiesterkte heeft plaatsgevonden, bijvoorbeeld door gebruik te maken van Microsoft Entra meervoudige verificatie.

Zie de verwijzing naar Azure AD B2C-token voor meer informatie over de claims in een id-token.

Nadat u het id-token hebt gevalideerd, kunt u een sessie met de gebruiker starten. Gebruik in uw app de claims in het id-token om informatie over de gebruiker op te halen. Deze informatie kan worden gebruikt voor weergave, records, autorisatie, enzovoort.

Toegangstokens ophalen

Als uw web-apps alleen gebruikersstromen hoeven uit te voeren, kunt u de volgende secties overslaan. De informatie in de volgende secties is alleen van toepassing op web-apps die geverifieerde aanroepen moeten uitvoeren naar een web-API die wordt beveiligd door Azure AD B2C zelf.

Nu u de gebruiker hebt aangemeld bij uw beveiligd-WACHTWOORDVERIFICATIE, kunt u toegangstokens krijgen voor het aanroepen van web-API's die zijn beveiligd met Microsoft Entra-id. Zelfs als u al een token hebt ontvangen met behulp van het token antwoordtype, kunt u deze methode gebruiken om tokens voor extra resources te verkrijgen zonder de gebruiker om te leiden om zich opnieuw aan te melden.

In een typische web-app-stroom zou u een aanvraag indienen bij het /token eindpunt. Het eindpunt biedt echter geen ondersteuning voor CORS-aanvragen, dus het maken van AJAX-aanroepen om een vernieuwingstoken op te halen, is geen optie. In plaats daarvan kunt u de impliciete stroom in een verborgen HTML-iframe-element gebruiken om nieuwe tokens voor andere web-API's op te halen. Hier volgt een voorbeeld, met regeleinden voor de leesbaarheid:

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
Parameter Vereist? Beschrijving
{tenant} Vereist Naam van uw Azure AD B2C-tenant
{policy} Vereist De gebruikersstroom die moet worden uitgevoerd. Geef de naam op van een gebruikersstroom die u hebt gemaakt in uw Azure AD B2C-tenant. Bijvoorbeeld: b2c_1_sign_in, b2c_1_sign_upof b2c_1_edit_profile.
client_id Vereist De toepassings-id die in de Azure Portal aan uw app is toegewezen.
response_type Vereist Moet id_token bevatten voor aanmelding bij OpenID Connect. Het kan ook het antwoordtype tokenbevatten. Als u hier gebruikt token , kan uw app onmiddellijk een toegangstoken ontvangen van het autorisatie-eindpunt, zonder een tweede aanvraag te doen bij het autorisatie-eindpunt. Als u het token antwoordtype gebruikt, moet de scope parameter een bereik bevatten dat aangeeft voor welke resource het token moet worden opgegeven.
redirect_uri Aanbevolen De omleidings-URI van uw app, waar verificatiereacties kunnen worden verzonden en ontvangen door uw app. Deze moet exact overeenkomen met een van de omleidings-URI's die u hebt geregistreerd in de portal, behalve dat deze URL-codering moet hebben.
scope Vereist Een door spaties gescheiden lijst van bereiken. Neem voor het ophalen van tokens alle bereiken op die u nodig hebt voor de beoogde resource.
response_mode Aanbevolen Hiermee geeft u de methode op die wordt gebruikt om het resulterende token terug te sturen naar uw app. Gebruik fragmentvoor impliciete stroom . Er kunnen twee andere modi worden opgegeven, query en form_post, maar werken niet in de impliciete stroom.
staat Aanbevolen Een waarde die is opgenomen in de aanvraag die wordt geretourneerd in de tokenreactie. Het kan een tekenreeks zijn van alle inhoud die u wilt gebruiken. Meestal wordt een willekeurig gegenereerde, unieke waarde gebruikt om aanvallen op vervalsing van aanvragen op meerdere sites te voorkomen. De status wordt ook gebruikt voor het coderen van informatie over de status van de gebruiker in de app voordat de verificatieaanvraag is opgetreden. De pagina of weergave van de gebruiker was bijvoorbeeld ingeschakeld.
nonce Vereist Een waarde die is opgenomen in de aanvraag, gegenereerd door de app die als claim is opgenomen in het resulterende id-token. De app kan deze waarde vervolgens verifiëren om aanvallen waarbij tokens worden herhaald te beperken. Meestal is de waarde een gerandomiseerde, unieke tekenreeks die de oorsprong van de aanvraag identificeert.
vraag Vereist Als u tokens in een verborgen iframe wilt vernieuwen en ophalen, gebruikt prompt=none u om ervoor te zorgen dat het iframe niet vastloopt op de aanmeldingspagina en onmiddellijk wordt geretourneerd.
login_hint Vereist Als u tokens in een verborgen iframe wilt vernieuwen en ophalen, neemt u de gebruikersnaam van de gebruiker op in deze hint om onderscheid te maken tussen meerdere sessies die de gebruiker op een bepaald moment kan hebben. U kunt de gebruikersnaam uit een eerdere aanmelding extraheren met behulp van de preferred_username claim (het profile bereik is vereist om de preferred_username claim te ontvangen).
domain_hint Vereist Deze waarde kan consumers of organizations zijn. Als u tokens in een verborgen iframe wilt vernieuwen en ophalen, neemt u de domain_hint waarde op in de aanvraag. Pak de tid claim uit het id-token van een eerdere aanmelding om te bepalen welke waarde moet worden gebruikt (het profile bereik is vereist om de tid claim te ontvangen). Als de tid claimwaarde is 9188040d-6c67-4c5b-b112-36a304b66dad, gebruikt u domain_hint=consumers. Gebruik domain_hint=organizationsanders .

Als u de prompt=none parameter instelt, slaagt deze aanvraag of mislukt deze onmiddellijk en keert deze terug naar uw toepassing. Een geslaagd antwoord wordt naar uw app verzonden via de omleidings-URI, met behulp van de methode die is opgegeven in de response_mode parameter.

Geslaagde reactie

Een geslaagd antwoord met behulp van response_mode=fragment ziet er ongeveer als in dit voorbeeld uit:

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
Parameter Beschrijving
access_token Het token dat door de app is aangevraagd.
token_type Het tokentype is altijd Bearer.
staat Als een state-parameter is opgenomen in de aanvraag, zou dezelfde waarde moeten verschijnen in de reactie. De app moet controleren of de state waarden in de aanvraag en het antwoord identiek zijn.
expires_in Hoe lang het toegangstoken geldig is, in seconden.
scope De bereiken waarvoor het toegangstoken geldig is.

Foutreactie

Foutreacties kunnen ook worden verzonden naar de omleidings-URI, zodat de app deze op de juiste manier kan verwerken. Voor prompt=noneziet een verwachte fout eruit als in dit voorbeeld:

GET https://aadb2cplayground.azurewebsites.net/#
error=user_authentication_required
&error_description=the+request+could+not+be+completed+silently
Parameter Beschrijving
fout Een foutcodereeks die kan worden gebruikt voor het classificeren van typen fouten die optreden. U kunt de tekenreeks ook gebruiken om te reageren op fouten.
error_description Een specifiek foutbericht waarmee u de hoofdoorzaak van een verificatiefout kunt identificeren.

Als u deze fout in de iframe-aanvraag ontvangt, moet de gebruiker zich interactief opnieuw aanmelden om een nieuw token op te halen.

Tokens vernieuwen

Id-tokens en toegangstokens verlopen beide na een korte periode. Uw app moet zijn voorbereid om deze tokens periodiek te vernieuwen. Impliciete stromen staan u niet toe om een vernieuwingstoken te verkrijgen vanwege beveiligingsredenen. Als u een van beide typen token wilt vernieuwen, gebruikt u de impliciete stroom in een verborgen HTML-iframe-element. Neem in de autorisatieaanvraag de prompt=none parameter op. Als u een nieuwe id_token-waarde wilt ontvangen, moet u en scope=openiden een nonce parameter gebruikenresponse_type=id_token.

Een afmeldingsaanvraag verzenden

Wanneer u de gebruiker wilt afmelden bij de app, leidt u de gebruiker om naar Azure AD afmeldingseindpunt van B2C. Vervolgens kunt u de sessie van de gebruiker in de app wissen. Als u de gebruiker niet omleidt, kan deze zich mogelijk opnieuw verifiëren bij uw app zonder de referenties opnieuw in te voeren, omdat deze een geldige sessie met één Sign-On met Azure AD B2C heeft.

U kunt de gebruiker gewoon omleiden naar de end_session_endpoint die wordt vermeld in hetzelfde OpenID Connect-metagegevensdocument dat wordt beschreven in Het id-token valideren. Bijvoorbeeld:

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/logout?post_logout_redirect_uri=https%3A%2F%2Faadb2cplayground.azurewebsites.net%2F
Parameter Vereist Beschrijving
{tenant} Yes Naam van uw Azure AD B2C-tenant.
{policy} Yes De gebruikersstroom die u wilt gebruiken om de gebruiker af te melden bij uw toepassing. Dit moet dezelfde gebruikersstroom zijn die de app heeft gebruikt om de gebruiker aan te melden.
post_logout_redirect_uri No De URL waarnaar de gebruiker moet worden omgeleid nadat het afmelden is voltooid. Als deze niet is opgenomen, toont Azure AD B2C de gebruiker een algemeen bericht.
staat No Als een state-parameter is opgenomen in de aanvraag, zou dezelfde waarde moeten verschijnen in de reactie. De toepassing moet controleren of de state waarden in de aanvraag en het antwoord identiek zijn.

Notitie

Als u de gebruiker naar de end_session_endpoint leidt, wordt een deel van de status Eén Sign-On van de gebruiker gewist met Azure AD B2C. De gebruiker wordt echter niet afgemeld bij de sessie van de sociale id-provider van de gebruiker. Als de gebruiker dezelfde id-provider selecteert tijdens een volgende aanmelding, wordt de gebruiker opnieuw geverifieerd zonder zijn of haar referenties in te voeren. Als een gebruiker zich wil afmelden bij uw Azure AD B2C-toepassing, betekent dit niet noodzakelijkerwijs dat ze zich bijvoorbeeld volledig willen afmelden bij hun Facebook-account. Voor lokale accounts wordt de sessie van de gebruiker echter correct beëindigd.

Volgende stappen

Zie het codevoorbeeld: Aanmelden met Azure AD B2C in een JavaScript-SPA.