Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Vanaf 1 mei 2025 is Azure AD B2C niet meer beschikbaar voor nieuwe klanten. Meer informatie vindt u in onze veelgestelde vragen.
OpenID Connect is een verificatieprotocol dat is gebouwd op OAuth 2.0, dat kan worden gebruikt om gebruikers veilig aan te melden bij webtoepassingen. Met behulp van de Azure Active Directory B2C-implementatie (Azure AD B2C) van OpenID Connect kunt u registratie uitbesteden, aanmelden en andere identiteitsbeheerervaringen in uw webtoepassingen naar Microsoft Entra ID. In deze handleiding ziet u hoe u dit op een taalonafhankelijke manier kunt doen. Hierin wordt beschreven hoe u HTTP-berichten verzendt en ontvangt zonder gebruik te maken van onze opensource-bibliotheken.
Notitie
De meeste opensource-verificatiebibliotheken verkrijgen en valideren de JWT's voor uw toepassing. We raden u aan deze opties te verkennen in plaats van uw eigen code te implementeren. Zie Overzicht van de MSAL-(Microsoft Authentication Library) en Microsoft Identity Web Authentication Libraryvoor meer informatie.
OpenID Connect- breidt het OAuth 2.0-- autorisatieprotocol uit voor gebruik als verificatieprotocol. Met dit verificatieprotocol kunt u eenmalige aanmelding uitvoeren. Het introduceert het concept van een ID-token, waarmee de client de identiteit van de gebruiker kan verifiëren en basisprofielgegevens over de gebruiker kan verkrijgen.
Met OpenID Connect kunnen toepassingen ook veilig toegangstokens verkrijgen. U kunt toegangstokens gebruiken voor toegang tot resources die de autorisatieserver beveiligd. We raden OpenID Connect aan als u een webtoepassing bouwt die u op een server host en toegankelijk is via een browser. Zie het Overzicht van tokens in Azure Active Directory B2C voor meer informatie over tokens
Azure AD B2C breidt het standaard OpenID Connect-protocol uit om meer te doen dan eenvoudige verificatie en autorisatie. Het introduceert de gebruikersstroomparameter, waarmee u OpenID Connect kunt gebruiken om gebruikerservaringen toe te voegen aan uw toepassing, zoals registreren, aanmelden en profielbeheer.
Verificatieaanvragen verzenden
Wanneer uw webtoepassing de gebruiker moet verifiëren en een gebruikersstroom moet uitvoeren, kan deze de gebruiker doorsturen naar het /authorize
-eindpunt. De gebruiker neemt actie, afhankelijk van de gebruikersstroom.
In deze aanvraag geeft de client de machtigingen aan die deze moet verkrijgen van de gebruiker in de parameter scope
en geeft de gebruikersstroom op die moet worden uitgevoerd. Als u wilt zien hoe de aanvraag werkt, plakt u de aanvraag in uw browser en voert u deze uit. Vervangen:
-
{tenant}
met de naam van uw tenant. -
00001111-aaaa-2222-bbbb-3333cccc4444
met de app-ID van een -toepassing die u hebt geregistreerd in uw tenant. -
{application-id-uri}/{scope-name}
met de URI van de toepassings-id en het bereik van een toepassing die u hebt geregistreerd in uw tenant. -
{policy}
met de beleidsnaam die u in uw tenant hebt, zoals bijvoorbeeldb2c_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
Maatstaf | Verplicht | Beschrijving |
---|---|---|
{huurder} | Ja | Naam van uw Azure AD B2C-tenant. Als u een aangepast domein gebruikt, vervangt u tenant.b2clogin.com door uw domein, zoals fabrikam.com . |
Beleid | Ja | De gebruikersstroom of het beleid dat door de app wordt uitgevoerd. Geef de naam op van een gebruikersstroom die u maakt in uw Azure AD B2C-tenant. Bijvoorbeeld: b2c_1_sign_in , b2c_1_sign_up of b2c_1_edit_profile . |
client-id | Ja | De applicatie-ID die de Azure portal toegewezen aan uw toepassing. |
Nonce | Aanbevolen | Een waarde die is opgenomen in de aanvraag (gegenereerd door de toepassing) die als claim is opgenomen in het resulterende id-token. De toepassing kan deze waarde vervolgens controleren om het opnieuw afspelen van tokens te beperken. De waarde is doorgaans een gerandomiseerde unieke tekenreeks die kan worden gebruikt om de oorsprong van de aanvraag te identificeren. |
reactietype | Ja | Moet een id-token bevatten voor OpenID Connect. Als uw webtoepassing ook tokens nodig heeft voor het aanroepen van een web-API, kunt u code+id_token gebruiken. |
omvang | Ja | Een door spaties gescheiden lijst van scopes. 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 webtoepassingen. Het geeft aan dat uw toepassing een vernieuwingstoken nodig heeft voor uitgebreide toegang tot resources. Hiermee https://{tenant-name}/{app-id-uri}/{scope} wordt een machtiging voor beveiligde resources aangegeven, zoals een web-API. Zie Een toegangstoken aanvragenvoor meer informatie. |
aanmoediging | Nee. | Het type gebruikersinteractie dat u nodig hebt. De enige geldige waarde op dit moment is login , waardoor de gebruiker zijn referenties voor die aanvraag invoert. |
terugstuur-URL | Ja | De redirect_uri parameter van uw toepassing, waarbij de server verificatiereacties naar uw toepassing verzendt. Deze moet exact overeenkomen met een van de redirect_uri parameters die u hebt geregistreerd in Azure Portal, behalve dat deze URL-codering moet hebben. |
reactiemodus | Nee. | De methode die wordt gebruikt om de resulterende autorisatiecode terug te sturen naar uw toepassing. Dit kan query , form_post of fragment zijn. We raden u aan de form_post antwoordmodus te gebruiken voor de beste beveiliging. |
staat | Nee. | Een waarde die u kunt opnemen in de aanvraag die de autorisatieserver retourneert in het tokenantwoord. Het kan een tekenreeks zijn van elke gewenste inhoud. Een willekeurig gegenereerde unieke waarde wordt doorgaans gebruikt om vervalsingsaanvallen op meerdere sites te voorkomen. De status wordt ook gebruikt om informatie over de status van de gebruiker in de toepassing te coderen voordat de verificatieaanvraag is opgetreden, zoals de pagina waarop ze zich bevonden. Als u niet meerdere omleidings-URL's wilt registreren in Azure Portal, kunt u de parameter state gebruiken om reacties in uw toepassing te onderscheiden van de Azure AD B2C-service vanwege verschillende aanvragen. |
inlog-hint | Nee. | Kan worden gebruikt om het aanmeldingsnaamveld van de aanmeldingspagina vooraf in te vullen. Voor meer informatie, zie "De aanmeldingsnaam vooraf ingevuld" . |
domein_hint | Nee. | Biedt een hint voor Azure AD B2C over de id-provider voor sociale netwerken die moet worden gebruikt voor aanmelding. Als er een geldige waarde is opgenomen, gaat de gebruiker rechtstreeks naar de aanmeldingspagina van de id-provider. Zie Aanmelding omleiden naar een sociale providervoor meer informatie. |
Aangepaste parameters | Nee. | Aangepaste parameters die kunnen worden gebruikt met aangepaste beleidsregels . Bijvoorbeeld dynamische URI voor aangepaste pagina-inhoudof sleutel-waarde claims-verwerkers. |
Op dit moment wordt de gebruiker gevraagd de werkstroom te voltooien. De gebruiker moet mogelijk zijn of haar gebruikersnaam en wachtwoord invoeren, zich aanmelden met een sociale identiteit of zich aanmelden voor de directory. Er kan een ander aantal stappen zijn, afhankelijk van de manier waarop de gebruikersstroom is gedefinieerd.
Nadat de gebruiker de gebruikersstroom heeft voltooid, wordt er een antwoord geretourneerd naar uw toepassing op de aangegeven redirect_uri
parameter, met behulp van de methode die u opgeeft in de parameter response_mode
. Het antwoord is hetzelfde voor elk van de voorgaande gevallen, onafhankelijk van de gebruikersstroom.
Een geslaagd antwoord met behulp van response_mode=fragment
ziet er als volgt uit:
GET https://jwt.ms/#
id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq...
&state=arbitrary_data_you_can_receive_in_the_response
Maatstaf | Beschrijving |
---|---|
id_token (identificatietoken) | Het id-token dat de toepassing heeft aangevraagd. U kunt het id-token gebruiken om de identiteit van de gebruiker te verifiëren en een sessie met de gebruiker te starten. |
code | De autorisatiecode die de toepassing heeft aangevraagd, als u response_type=code+id_token hebt gebruikt. De toepassing kan de autorisatiecode gebruiken om een toegangstoken aan te vragen voor een doelresource. Autorisatiecodes verlopen doorgaans na ongeveer 10 minuten. |
staat | 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. |
Foutreacties kunnen ook worden verzonden naar de parameter redirect_uri
, zodat de toepassing deze op de juiste manier kan verwerken:
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
Maatstaf | Beschrijving |
---|---|
fout | Een code die kan worden gebruikt om de typen fouten te classificeren die optreden. |
foutbeschrijving | Een specifiek foutbericht waarmee de hoofdoorzaak van een verificatiefout kan worden geïdentificeerd. |
staat | 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. |
Het 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 toepassing. Azure AD B2C maakt gebruik van JSON-webtokens (JWT's) en openbare-sleutelcryptografie om tokens te ondertekenen en te controleren of ze geldig zijn.
Notitie
De meeste opensource-verificatiebibliotheken valideren de JWT's voor uw toepassing. We raden u aan deze opties te verkennen in plaats van uw eigen validatielogica te implementeren. Zie Overzicht van de MSAL-(Microsoft Authentication Library) en Microsoft Identity Web Authentication Libraryvoor meer informatie.
Azure AD B2C heeft een OpenID Connect-metagegevenseindpunt, waarmee een toepassing tijdens runtime informatie over Azure AD B2C kan ophalen. Deze informatie omvat eindpunten, inhoud van tokens en tokenondertekeningssleutels. Er is een JSON-metagegevensdocument voor elke gebruikersstroom in uw B2C-tenant. Het metagegevensdocument voor de b2c_1_sign_in
gebruikersstroom in fabrikamb2c.onmicrosoft.com
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 jwks_uri
, waarvan de waarde voor dezelfde gebruikersstroom zou zijn:
https://fabrikamb2c.b2clogin.com/fabrikamb2c.onmicrosoft.com/b2c_1_sign_in/discovery/v2.0/keys
U hebt twee opties om te bepalen welke gebruikersstroom is gebruikt om een id-token te ondertekenen. Eerst wordt de naam van de gebruikersstroom opgenomen in de acr
-claim in het ID-token. Zie -claim die de gebruikersstroomvertegenwoordigt. U kunt de gebruikersstroom ook coderen in de waarde van de parameter state
wanneer u de aanvraag uitgeeft en deze vervolgens decoderen om te bepalen welke gebruikersstroom is gebruikt. Beide methoden zijn geldig.
Nadat u het metagegevensdocument hebt verkregen van het OpenID Connect-metagegevenseindpunt, kunt u de openbare RSA 256-sleutels gebruiken om de handtekening van het id-token te valideren. Er kunnen meerdere sleutels worden vermeld op dit eindpunt, elk geïdentificeerd door een kid
claim. De header van het id-token bevat ook een kid
claim, die aangeeft welke van deze sleutels is gebruikt om het id-token te ondertekenen.
Als u de tokens van Azure AD B2C wilt controleren, moet u de openbare sleutel genereren met behulp van de exponent(e) en modulus(n). Hiervoor moet u leren hoe u de openbare sleutel genereert in een programmeertaal van uw keuze. De officiële documentatie over het genereren van openbare sleutels met het RSA-protocol vindt u hier: https://tools.ietf.org/html/rfc3447#section-3.1
Nadat u de handtekening van het id-token hebt gevalideerd, zijn er verschillende claims die u moet verifiëren. Bijvoorbeeld:
- Valideer de
nonce
claim om herhalingsaanvallen van tokens te voorkomen. De waarde moet zijn wat u hebt opgegeven in de aanmeldingsaanvraag. - Valideer de
aud
claim om ervoor te zorgen dat het id-token is uitgegeven voor uw toepassing. De waarde moet de toepassings-id van uw toepassing zijn. - Valideer de
iat
enexp
claims om ervoor te zorgen dat het id-token niet is verlopen.
Er zijn ook nog enkele validaties die u moet uitvoeren. De validaties worden gedetailleerd beschreven in de OpenID Connect Core Spec. Mogelijk wilt u ook meer claims valideren, afhankelijk van uw scenario. Enkele veelvoorkomende validaties zijn:
- Zorg ervoor dat de gebruiker/organisatie zich heeft geregistreerd voor de toepassing.
- Zorg ervoor dat de gebruiker over de juiste autorisatie/bevoegdheden beschikt.
- Zorg ervoor dat er een bepaalde verificatiesterkte is opgetreden, zoals Meervoudige Verificatie van Microsoft Entra.
Nadat het id-token is gevalideerd, kunt u een sessie met de gebruiker starten. U kunt de claims in het id-token gebruiken om informatie over de gebruiker in uw toepassing te verkrijgen. Gebruiken voor deze informatie omvatten weergave, registratie en autorisatie.
Een token ophalen
Als u uw webtoepassing nodig hebt om alleen gebruikersstromen uit te voeren, kunt u de volgende secties overslaan. Deze secties zijn alleen van toepassing op webtoepassingen die geverifieerde aanroepen moeten doen naar een web-API, die wordt beveiligd door Azure AD B2C zelf.
U kunt de autorisatiecode die u hebt verkregen (met behulp van response_type=code+id_token
) inwisselen voor een token naar de gewenste resource door een POST
aanvraag naar het /token
eindpunt te verzenden. In Azure AD B2C kunt u toegangstokens aanvragen voor andere API's zoals gebruikelijk door hun bereik(en) in de aanvraag op te geven.
U kunt ook een toegangstoken aanvragen voor de eigen back-endweb-API van uw app. In dit geval gebruikt u de client-id van de app als het aangevraagde bereik, wat resulteert in een toegangstoken met die client-id als de 'doelgroep':
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
Maatstaf | Verplicht | Beschrijving |
---|---|---|
{huurder} | Ja | Naam van uw Azure AD B2C-tenant |
Beleid | Ja | De gebruikersstroom die is gebruikt om de autorisatiecode te verkrijgen. U kunt in deze aanvraag geen andere gebruikersstroom gebruiken. Voeg deze parameter toe aan de querytekenreeks, niet aan de POST-hoofdtekst. |
client-id | Ja | De applicatie-ID die de Azure portal toegewezen aan uw toepassing. |
klantgeheim | Ja, in Web Apps | Het applicatiegeheim dat is gegenereerd in de Azure portal. Clientgeheimen worden gebruikt in deze stroom voor web-app-scenario's, waarbij de client veilig een clientgeheim kan opslaan. Voor systeemeigen app-scenario's (openbare client) kunnen clientgeheimen niet veilig worden opgeslagen en daarom niet gebruikt in dit proces. Als u een clientgeheim gebruikt, wijzigt u het periodiek. |
code | Ja | De autorisatiecode die u hebt verkregen aan het begin van de gebruikersstroom. |
toekennings_type | Ja | Het type machtiging, dat bij de autorisatiecode-stroom authorization_code moet zijn. |
terugstuur-URL | Nee. | De redirect_uri parameter van de toepassing waar u de autorisatiecode hebt ontvangen. |
omvang | Nee. | Een door spaties gescheiden lijst van scopes. 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_token parameters. Het kan worden gebruikt om tokens op te halen naar de eigen back-endweb-API van uw toepassing, die wordt vertegenwoordigd door dezelfde toepassings-id als de client. Het offline_access -bereik geeft aan dat uw toepassing een vernieuwings-token nodig heeft voor uitgebreide toegang tot middelen. |
Een succesvol tokenantwoord ziet er als volgt uit:
{
"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...",
}
Maatstaf | Beschrijving |
---|---|
niet_vóór | Het epoch-tijdstip waarop het token geldig wordt. |
token-type | De waarde van het tokentype.
Bearer is het enige type dat wordt ondersteund. |
toegangstoken | De ondertekende JWT die u hebt aangevraagd. |
omvang | De geldige toepassingsgebieden voor het token. |
verloopt_in | De tijdsduur waarop het toegangstoken geldig is (in seconden). |
vervalt_op | Het tijdstip waarop het toegangstoken ongeldig wordt. |
vernieuw_token | Een OAuth 2.0-vernieuwingstoken. De toepassing kan dit token gebruiken om meer tokens te verkrijgen nadat het huidige token is verlopen. Vernieuwingstokens kunnen worden gebruikt om de toegang tot resources gedurende langere tijd te behouden. Het bereik offline_access moet zijn gebruikt in zowel de autorisatie- als tokenaanvragen om een vernieuwingstoken te kunnen ontvangen. |
Foutberichten zien er als volgt uit:
{
"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"
}
Maatstaf | Beschrijving |
---|---|
fout | Een code die kan worden gebruikt om typen fouten te classificeren die optreden. |
foutbeschrijving | Een bericht dat kan helpen bij het identificeren van de hoofdoorzaak van een verificatiefout. |
Het token gebruiken
Nadat u een toegangstoken hebt verkregen, kunt u het token gebruiken in aanvragen voor uw back-endweb-API's door het op te nemen in de Authorization
-header:
GET /tasks
Host: mytaskwebapi.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...
Het token vernieuwen
Toegangstokens en id-tokens zijn kortlevend. Nadat ze zijn verlopen, moet u ze vernieuwen om toegang te blijven krijgen tot resources. Wanneer u het toegangstoken vernieuwt, retourneert Azure AD B2C een nieuw token. Het vernieuwde toegangstoken heeft nbf
bijgewerkt (niet eerder), iat
(uitgegeven op) en exp
claimwaarden (vervaldatum). Alle andere claimwaarden zijn vergelijkbaar met die in het vorige toegangstoken.
Vernieuw een token door een andere POST
aanvraag in te dienen bij het /token
-eindpunt. Geef deze keer de parameter refresh_token
op in plaats van de parameter code
:
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
Maatstaf | Verplicht | Beschrijving |
---|---|---|
{huurder} | Ja | Naam van uw Azure AD B2C-tenant |
Beleid | Ja | De gebruikersstroom die is gebruikt om het oorspronkelijke refresh token te verkrijgen. U kunt in deze aanvraag geen andere gebruikersstroom gebruiken. Voeg deze parameter toe aan de querytekenreeks, niet aan de POST-hoofdtekst. |
client-id | Ja | De applicatie-ID die de Azure portal toegewezen aan uw toepassing. |
klantgeheim | Ja, in Web Apps | Het applicatiegeheim dat is gegenereerd in de Azure portal. Clientgeheimen worden gebruikt in deze stroom voor web-app-scenario's, waarbij de client veilig een clientgeheim kan opslaan. Voor systeemeigen app-scenario's (openbare client) kunnen clientgeheimen niet veilig worden opgeslagen, dus niet gebruikt voor deze aanroep. Als u een client secret gebruikt, verander deze dan regelmatig. |
toekennings_type | Ja | Het type toekenning, dat voor dit deel van de autorisatiestroom refresh_token moet zijn. |
vernieuw_token | Ja | Het oorspronkelijke vernieuwingstoken dat is verkregen in het tweede deel van het proces. Het offline_access bereik moet worden gebruikt in zowel de autorisatie- als tokenaanvragen om een vernieuwingstoken te kunnen ontvangen. |
terugstuur-URL | Nee. | De redirect_uri parameter van de toepassing waar u de autorisatiecode hebt ontvangen. |
omvang | Nee. | Een door spaties gescheiden lijst van scopes. 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 kan worden gebruikt om tokens te verzenden naar de eigen back-endweb-API van uw toepassing, die wordt vertegenwoordigd door dezelfde toepassings-id als de client. Het offline_access -bereik geeft aan dat uw toepassing een vernieuwings-token nodig heeft voor uitgebreide toegang tot middelen. |
Een succesvol tokenantwoord ziet er als volgt uit:
{
"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"
}
Maatstaf | Beschrijving |
---|---|
niet_vóór | Het epoch-tijdstip waarop het token geldig wordt. |
token-type | De waarde van het tokentype.
Bearer is het enige type dat wordt ondersteund. |
toegangstoken | De ondertekende JWT die is aangevraagd. |
omvang | De geldige toepassingsgebieden voor het token. |
verloopt_in | De tijdsduur waarop het toegangstoken geldig is (in seconden). |
vernieuw_token | Een OAuth 2.0-vernieuwingstoken. De toepassing kan dit token gebruiken om extra tokens te verkrijgen nadat het huidige token is verlopen. Vernieuwingstokens kunnen worden gebruikt om de toegang tot resources gedurende langere tijd te behouden. |
vernieuwings-token_verloopt_in | De tijdsduur waarop het vernieuwingstoken geldig is (in seconden). |
Foutberichten zien er als volgt uit:
{
"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",
}
Maatstaf | Beschrijving |
---|---|
fout | Een code die kan worden gebruikt om typen fouten te classificeren die optreden. |
foutbeschrijving | Een bericht dat kan helpen bij het identificeren van de hoofdoorzaak van een verificatiefout. |
Een afmeldingsaanvraag verzenden
Wanneer u de gebruiker wilt afmelden bij de toepassing, is het niet voldoende om de cookies van de toepassing te wissen of de sessie met de gebruiker op een andere manier te beëindigen. Leid de gebruiker om naar Azure AD B2C om zich af te melden. Als u dit niet doet, kan de gebruiker mogelijk opnieuw authenticeren bij uw toepassing zonder de inloggegevens opnieuw in te voeren. Zie Azure AD B2C-sessiegedragvoor meer informatie.
Als u de gebruiker wilt afmelden, moet u de gebruiker omleiden naar de end_session_endpoint
die wordt vermeld in het document met openID Connect-metagegevens dat eerder is beschreven:
GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/logout?post_logout_redirect_uri=https%3A%2F%2Fjwt.ms%2F
Maatstaf | Verplicht | Beschrijving |
---|---|---|
{huurder} | Ja | Naam van uw Azure AD B2C-tenant. Als u een aangepast domein gebruikt, vervangt u tenant.b2clogin.com door uw domein, zoals fabrikam.com . |
Beleid | Ja | De gebruikersstroom die u opgeeft in de autorisatieaanvraag. Als de gebruiker zich bijvoorbeeld heeft aangemeld met de b2c_1_sign_in gebruikersstroom, geeft u b2c_1_sign_in op in de afmeldingsaanvraag. |
ID-token-aanwijzing | Nee. | Een eerder uitgegeven id-token om door te geven aan het afmeldingseindpunt als hint over de huidige geverifieerde sessie van de eindgebruiker met de client. De id_token_hint zorgt ervoor dat de post_logout_redirect_uri een geregistreerde antwoord-URL is in de instellingen van uw Azure AD B2C-toepassing. Voor meer informatie, zie Beveilig uw afmeldingsomleiding. |
client-id | Nee* | De applicatie-ID die de Azure portal toegewezen aan uw toepassing. * Dit is vereist bij het gebruik van Application isolatie-SSO-configuratie en Id-token vereisen in afmeldingsaanvraag is ingesteld op No . |
URI om te herleiden na uitloggen | Nee. | De URL waarnaar de gebruiker moet worden omgeleid na een geslaagde afmelding. Als deze niet is opgenomen, toont Azure AD B2C de gebruiker een algemeen bericht. Tenzij u een id_token_hint opgeeft, moet u deze URL niet registreren als antwoord-URL in de instellingen van uw Azure AD B2C-toepassing. |
staat | Nee. | Als u een state parameter opneemt in de autorisatieaanvraag, retourneert de autorisatieserver dezelfde waarde in het antwoord op de post_logout_redirect_uri . De toepassing moet controleren of de state waarde in de aanvraag en het antwoord identiek zijn. |
Na een afmeldingsaanvraag wordt in Azure AD B2C de sessie op basis van cookies van Azure AD B2C ongeldig gemaakt en wordt geprobeerd u af te melden bij federatieve id-providers. Zie Eenmalige afmeldingvoor meer informatie.
Uw afmeldingsomleiding beveiligen
Na het afmelden wordt de gebruiker omgeleid naar de URI die u opgeeft in de parameter post_logout_redirect_uri
, ongeacht de antwoord-URL's die u voor de toepassing opgeeft. Als er echter een geldige id_token_hint
wordt doorgegeven en de Id-token in afmeldingsaanvragen vereisen is ingeschakeld, controleert Azure AD B2C of de waarde van post_logout_redirect_uri
overeenkomt met een van de geconfigureerde omleidings-URI's van de toepassing voordat de omleiding wordt uitgevoerd. Als er geen overeenkomende antwoord-URL is geconfigureerd voor de toepassing, wordt er een foutbericht weergegeven en wordt de gebruiker niet omgeleid.
Zie Sessiegedrag configureren in Azure Active Directory B2Com het vereiste id-token in afmeldingsaanvragen in te stellen.
Verwante inhoud
- Meer informatie over Azure AD B2C-sessie.