Översikt över tokens i Azure Active Directory B2COverview of tokens in Azure Active Directory B2C

Anteckning

I Azure Active Directory B2C är anpassade principer utformade främst för att hantera komplexa scenarier.In Azure Active Directory B2C, custom policies are designed primarily to address complex scenarios. I de flesta fall rekommenderar vi att du använder inbyggda användar flöden.For most scenarios, we recommend that you use built-in user flows.

Azure Active Directory B2C (Azure AD B2C) genererar flera typer av säkerhetstoken när de bearbetar varje autentiseringspaket.Azure Active Directory B2C (Azure AD B2C) emits several types of security tokens as it processes each authentication flow. I det här dokumentet beskrivs format, säkerhets egenskaper och innehåll för varje typ av token.This document describes the format, security characteristics, and contents of each type of token.

Token-typerToken types

Azure AD B2C stöder protokollen OAuth 2,0 och OpenID Connect, som använder token för autentisering och säker åtkomst till resurser.Azure AD B2C supports the OAuth 2.0 and OpenID Connect protocols, which makes use of tokens for authentication and secure access to resources. Alla tokens som används i Azure AD B2C är JSON Web tokens (JWTs) som innehåller information om innehavaren och ämnet för token.All tokens used in Azure AD B2C are JSON web tokens (JWTs) that contain assertions of information about the bearer and the subject of the token.

Följande tokens används i kommunikationen med Azure AD B2C:The following tokens are used in communication with Azure AD B2C:

  • ID -token – ett JWT som innehåller anspråk som du kan använda för att identifiera användare i ditt program.ID token - A JWT that contains claims that you can use to identify users in your application. Den här token skickas säkert i HTTP-begäranden för kommunikation mellan två komponenter i samma program eller tjänst.This token is securely sent in HTTP requests for communication between two components of the same application or service. Du kan använda anspråken i en ID-token när du ser anpassa.You can use the claims in an ID token as you see fit. De används ofta för att Visa konto information eller för att fatta beslut om åtkomst kontroll i ett program.They are commonly used to display account information or to make access control decisions in an application. ID-token är signerade, men de krypteras inte.ID tokens are signed, but they are not encrypted. När ditt program eller API tar emot en ID-token måste den verifiera signaturen för att bevisa att token är autentisk.When your application or API receives an ID token, it must validate the signature to prove that the token is authentic. Ditt program eller API måste också verifiera ett fåtal anspråk i token för att bevisa att det är giltigt.Your application or API must also validate a few claims in the token to prove that it's valid. Beroende på scenario kraven kan anspråk som verifierats av ett program variera, men programmet måste utföra några vanliga anspråks valideringar i varje scenario.Depending on the scenario requirements, the claims validated by an application can vary, but your application must perform some common claim validations in every scenario.
  • Åtkomsttoken – ett JWT som innehåller anspråk som du kan använda för att identifiera de beviljade behörigheterna för dina API: er.Access token - A JWT that contains claims that you can use to identify the granted permissions to your APIs. Åtkomsttoken signeras, men de krypteras inte.Access tokens are signed, but they aren't encrypted. Åtkomsttoken används för att ge åtkomst till API: er och resurs servrar.Access tokens are used to provide access to APIs and resource servers. När ditt API tar emot en åtkomsttoken måste den verifiera signaturen för att bevisa att token är autentisk.When your API receives an access token, it must validate the signature to prove that the token is authentic. Ditt API måste också verifiera ett fåtal anspråk i token för att bevisa att det är giltigt.Your API must also validate a few claims in the token to prove that it is valid. Beroende på scenario kraven kan anspråk som verifierats av ett program variera, men programmet måste utföra några vanliga anspråks valideringar i varje scenario.Depending on the scenario requirements, the claims validated by an application can vary, but your application must perform some common claim validations in every scenario.
  • Refresh token -Refresh tokens används för att hämta nya ID-token och åtkomsttoken i ett OAuth 2,0-flöde.Refresh token - Refresh tokens are used to acquire new ID tokens and access tokens in an OAuth 2.0 flow. De tillhandahåller ditt program med långsiktig åtkomst till resurser på uppdrag av användare utan att det krävs någon interaktion med dessa användare.They provide your application with long-term access to resources on behalf of users without requiring interaction with those users. Uppdatering av tokens är ogenomskinlig för ditt program.Refresh tokens are opaque to your application. De utfärdas av Azure AD B2C och kan bara granskas och tolkas av Azure AD B2C.They are issued by Azure AD B2C and can be inspected and interpreted only by Azure AD B2C. De är långa, men programmet bör inte skrivas med förväntat att en uppdateringstoken kommer att vara sist under en viss tids period.They are long-lived, but your application shouldn't be written with the expectation that a refresh token will last for a specific period of time. Du kan när som helst välja att inte validera token för en mängd olika orsaker.Refresh tokens can be invalidated at any moment for a variety of reasons. Det enda sättet för ditt program att veta om en uppdateringstoken är giltig för att försöka lösa in den genom att göra en Tokenbegäran att Azure AD B2C.The only way for your application to know if a refresh token is valid is to attempt to redeem it by making a token request to Azure AD B2C. När du löser in en uppdateringstoken för en ny token får du en ny uppdateringstoken i svaret från token.When you redeem a refresh token for a new token, you receive a new refresh token in the token response. Spara den nya uppdateringstoken.Save the new refresh token. Den ersätter den uppdateringstoken som du tidigare använde i begäran.It replaces the refresh token that you previously used in the request. Den här åtgärden hjälper till att garantera att uppdateringstoken är giltiga så länge som möjligt.This action helps guarantee that your refresh tokens remain valid for as long as possible.

SlutpunkterEndpoints

Ett registrerat program tar emot tokens och kommunicerar med Azure AD B2C genom att skicka begär anden till dessa slut punkter:A registered application receives tokens and communicates with Azure AD B2C by sending requests to these endpoints:

  • https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/oauth2/v2.0/authorize
  • https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/oauth2/v2.0/token

Säkerhetstoken som programmet tar emot från Azure AD B2C kan komma från /authorize -eller /token -slut punkterna.Security tokens that your application receives from Azure AD B2C can come from the /authorize or /token endpoints. När ID-token har hämtats /authorize från slut punkten görs det med det implicita flödet, som ofta används för användare som loggar in på JavaScript-baserade webb program.When ID tokens are acquired from the /authorize endpoint, it's done using the implicit flow, which is often used for users signing in to JavaScript-based web applications. När ID-token har hämtats /token från slut punkten görs det med hjälp av flödet för auktoriseringskod, som gör att token är dold i webbläsaren.When ID tokens are acquired from the /token endpoint, it's done using the authorization code flow, which keeps the token hidden from the browser.

AnspråkClaims

När du använder Azure AD B2C har du detaljerad kontroll över innehållet i dina tokens.When you use Azure AD B2C, you have fine-grained control over the content of your tokens. Du kan konfigurera användar flöden och anpassade principer för att skicka vissa uppsättningar användar data i anspråk som krävs för ditt program.You can configure user flows and custom policies to send certain sets of user data in claims that are required for your application. Dessa anspråk kan innehålla standard egenskaper som DisplayName och EmailAddress.These claims can include standard properties such as displayName and emailAddress. Dina program kan använda dessa anspråk för att autentisera användare och förfrågningar på ett säkert sätt.Your applications can use these claims to securely authenticate users and requests.

Anspråk i ID-token returneras inte i någon särskild ordning.The claims in ID tokens are not returned in any particular order. Nya anspråk kan introduceras i ID-token när som helst.New claims can be introduced in ID tokens at any time. Programmet bör inte brytas när nya anspråk införs.Your application shouldn't break as new claims are introduced. Du kan också inkludera anpassade användarattribut i dina anspråk.You can also include custom user attributes in your claims.

I följande tabell visas de anspråk som du kan förväntar dig i ID-token och åtkomsttoken som utfärdats av Azure AD B2C.The following table lists the claims that you can expect in ID tokens and access tokens issued by Azure AD B2C.

NameName BegäranClaim ExempelvärdeExample value BeskrivningDescription
MålgruppAudience aud 90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6 Identifierar den avsedda mottagaren för token.Identifies the intended recipient of the token. För Azure AD B2C är mål gruppen program-ID: t.For Azure AD B2C, the audience is the application ID. Programmet bör validera det här värdet och avvisa token om det inte matchar.Your application should validate this value and reject the token if it doesn't match. Mål gruppen är synonym med resursen.Audience is synonymous with resource.
UtfärdareIssuer iss https://{tenant}.b2clogin.com/775527ff-9a37-4307-8b3d-cc311f58d925/v2.0/ Identifierar säkerhetstokentjänst som konstruerar och returnerar token.Identifies the security token service (STS) that constructs and returns the token. Den identifierar även den katalog där användaren autentiserades.It also identifies the directory in which the user was authenticated. Ditt program bör verifiera utfärdarens anspråk för att se till att token kommer från lämplig slut punkt.Your application should validate the issuer claim to make sure that the token came from the appropriate endpoint.
UtfärdatIssued at iat 1438535543 Tiden då token utfärdades, representeras i epok tid.The time at which the token was issued, represented in epoch time.
FörfallotidExpiration time exp 1438539443 Tiden då token blir ogiltig, representeras i epok tid.The time at which the token becomes invalid, represented in epoch time. Programmet bör använda detta anspråk för att kontrol lera giltigheten för token för token.Your application should use this claim to verify the validity of the token lifetime.
Inte föreNot before nbf 1438535543 Tiden då token börjar gälla, representeras i epok tiden.The time at which the token becomes valid, represented in epoch time. Den här tiden är vanligt vis samma som den tidpunkt då token utfärdades.This time is usually the same as the time the token was issued. Programmet bör använda detta anspråk för att kontrol lera giltigheten för token för token.Your application should use this claim to verify the validity of the token lifetime.
VersionVersion ver 1.0 Versionen av ID-token, som definieras av Azure AD B2C.The version of the ID token, as defined by Azure AD B2C.
Kod-hashCode hash c_hash SGCPtt01wxwfgnYZy2VJtQ En kod-hash som ingår i en ID-token endast när token utfärdas tillsammans med en OAuth 2,0-auktoriseringskod.A code hash included in an ID token only when the token is issued together with an OAuth 2.0 authorization code. En kod-hash kan användas för att verifiera äktheten för en auktoriseringskod.A code hash can be used to validate the authenticity of an authorization code. Mer information om hur du utför den här verifieringen finns i OpenID Connect-specifikationen.For more information about how to perform this validation, see the OpenID Connect specification.
Hash för åtkomsttokenAccess token hash at_hash SGCPtt01wxwfgnYZy2VJtQ En hash för åtkomsttoken ingår bara i en ID-token när token utfärdas tillsammans med en OAuth 2,0-åtkomsttoken.An access token hash included in an ID token only when the token is issued together with an OAuth 2.0 access token. En hash för åtkomsttoken kan användas för att verifiera äktheten för en åtkomsttoken.An access token hash can be used to validate the authenticity of an access token. Mer information om hur du utför den här verifieringen finns i OpenID Connect -specifikationenFor more information about how to perform this validation, see the OpenID Connect specification
NnärNonce nonce 12345 En nonce är en strategi som används för att minimera repetitions attacker.A nonce is a strategy used to mitigate token replay attacks. Ditt program kan ange en nonce i en auktoriseringsbegäran med hjälp nonce av Frågeparametern.Your application can specify a nonce in an authorization request by using the nonce query parameter. Värdet som du anger i begäran genereras oförändrat i nonce anspråk för en ID-token.The value you provide in the request is emitted unmodified in the nonce claim of an ID token only. Detta påstående gör att ditt program kan verifiera värdet mot det värde som anges i begäran.This claim allows your application to verify the value against the value specified on the request. Programmet bör utföra den här verifieringen under validerings processen för ID-token.Your application should perform this validation during the ID token validation process.
SubjectSubject sub 884408e1-2918-4cz0-b12d-3aa027d7563b Den huvudprincip som token förutsätter information för, t. ex. användaren av ett program.The principal about which the token asserts information, such as the user of an application. Värdet är oföränderligt och kan inte tilldelas om eller återanvändas.This value is immutable and cannot be reassigned or reused. Den kan användas för att utföra verifierings kontroller på ett säkert sätt, till exempel när token används för att få åtkomst till en resurs.It can be used to perform authorization checks safely, such as when the token is used to access a resource. Som standard fylls ämnes anspråket med objekt-ID: t för användaren i katalogen.By default, the subject claim is populated with the object ID of the user in the directory.
Klass referens för autentiserings kontextAuthentication context class reference acr Inte tillämpligtNot applicable Används endast med äldre principer.Used only with older policies.
Princip för förtroende ramverkTrust framework policy tfp b2c_1_signupsignin1 Namnet på den princip som användes för att hämta ID-token.The name of the policy that was used to acquire the ID token.
Autentiserings tidAuthentication time auth_time 1438535543 Den tid då användaren senast angav autentiseringsuppgifter, som representeras i epok tid.The time at which a user last entered credentials, represented in epoch time. Det finns ingen diskriminering mellan den autentiseringen som en ny inloggning, en enkel inloggnings-eller SSO-session eller en annan typ av inloggning.There is no discrimination between that authentication being a fresh sign-in, a single sign-on (SSO) session, or another sign-in type. auth_time Är den senaste gången som programmet (eller användaren) initierade ett autentiseringsförsök mot Azure AD B2C.The auth_time is the last time the application (or user) initiated an authentication attempt against Azure AD B2C. Den metod som används för autentisering skiljer sig inte åt.The method used to authenticate is not differentiated.
OmfångScope scp Read De behörigheter som tilldelats resursen för en åtkomsttoken.The permissions granted to the resource for an access token. Flera beviljade behörigheter avgränsas med ett blank steg.Multiple granted permissions are separated by a space.
Behörig partAuthorized Party azp 975251ed-e4f5-4efd-abcb-5f1a8f566ab7 Det program-ID hos klientprogrammet som initierade begäran.The application ID of the client application that initiated the request.

KonfigurationConfiguration

Följande egenskaper används för att Hantera livs längder för säkerhetstoken som genereras av Azure AD B2C:The following properties are used to manage lifetimes of security tokens emitted by Azure AD B2C:

  • Åtkomst &-ID-token livs längd (minuter) – livstiden för OAuth 2,0 Bearer-token som används för att få åtkomst till en skyddad resurs.Access & ID token lifetimes (minutes) - The lifetime of the OAuth 2.0 bearer token used to gain access to a protected resource. Standardvärdet är 60 minuter.The default is 60 minutes. Minimivärdet (inklusive) är 5 minuter.The minimum (inclusive) is 5 minutes. Det maximala antalet (inklusive) är 1440 minuter.The maximum (inclusive) is 1440 minutes.

  • Giltighets tid för token (dagar) – den maximala tids period som en uppdateringstoken kan användas för att hämta en ny åtkomst-eller ID-token.Refresh token lifetime (days) - The maximum time period before which a refresh token can be used to acquire a new access or ID token. Tids perioden omfattar också hämtning av offline_access en ny uppdateringstoken om ditt program har beviljats omfånget.The time period also covers acquiring a new refresh token if your application has been granted the offline_access scope. Standardvärdet är 14 dagar.The default is 14 days. Minimivärdet (inklusive) är en dag.The minimum (inclusive) is one day. Det största (inklusive) är 90 dagar.The maximum (inclusive) is 90 days.

  • Uppdatera token glidande fönster livs längd (dagar) – när den här tids perioden går ut tvingas användaren att autentisera igen, oberoende av giltighets perioden för den senaste uppdateringstoken som hämtats av programmet.Refresh token sliding window lifetime (days) - After this time period elapses the user is forced to reauthenticate, irrespective of the validity period of the most recent refresh token acquired by the application. Den kan bara anges om växeln är inställd på Bounded.It can only be provided if the switch is set to Bounded. Det måste vara större än eller lika med värdet för uppdateringstoken för uppdateringstoken (dagar) .It needs to be greater than or equal to the Refresh token lifetime (days) value. Om växeln är obundenkan du inte ange ett angivet värde.If the switch is set to Unbounded, you cannot provide a specific value. Standardvärdet är 90 dagar.The default is 90 days. Minimivärdet (inklusive) är en dag.The minimum (inclusive) is one day. Det största (inklusive) är 365 dagar.The maximum (inclusive) is 365 days.

Följande användnings fall är aktiverade med följande egenskaper:The following use cases are enabled using these properties:

  • Tillåt att en användare förblir inloggad i ett mobilt program under obegränsad tid, så länge användaren alltid är aktiv i programmet.Allow a user to stay signed in to a mobile application indefinitely, as long as the user is continually active on the application. Du kan ställa in livs längden för skjutreglaget för att Uppdatera token (dagar) till avgränsade i ditt inloggnings användar flöde.You can set Refresh token sliding window lifetime (days) to Unbounded in your sign-in user flow.
  • Uppfylla din branschs krav på säkerhet och efterlevnad genom att ange lämpliga livs längder för åtkomst-token.Meet your industry's security and compliance requirements by setting the appropriate access token lifetimes.

De här inställningarna är inte tillgängliga för användar flöden för lösen ords återställning.These settings are not available for password reset user flows.

KompatibilitetCompatibility

Följande egenskaper används för att Hantera token-kompatibilitet:The following properties are used to manage token compatibility:

  • Certifikat utfärdare (ISS)-anspråk – den här egenskapen identifierar den Azure AD B2C klient som utfärdade token.Issuer (iss) claim - This property identifies the Azure AD B2C tenant that issued the token. Standardvärdet är https://<domain>/{B2C tenant GUID}/v2.0/.The default value is https://<domain>/{B2C tenant GUID}/v2.0/. Värdet för https://<domain>/tfp/{B2C tenant GUID}/{Policy ID}/v2.0/ innehåller ID: n för både den Azure AD B2C klienten och det användar flöde som användes i Tokenbegäran.The value of https://<domain>/tfp/{B2C tenant GUID}/{Policy ID}/v2.0/ includes IDs for both the Azure AD B2C tenant and the user flow that was used in the token request. Om ditt program eller bibliotek behöver Azure AD B2C vara kompatibelt med OpenID Connect Discovery Discovery 1,0-specifikationen använder du det här värdet.If your application or library needs Azure AD B2C to be compliant with the OpenID Connect Discovery 1.0 spec, use this value.

  • Subject (sub)-anspråk – den här egenskapen identifierar den entitet som token kontrollerar information om.Subject (sub) claim - This property identifies the entity for which the token asserts information. Standardvärdet är ObjectID, som fyller på sub anspråket i token med objekt-ID: t för användaren.The default value is ObjectID, which populates the sub claim in the token with the object ID of the user. Värdet som inte stöds anges bara för bakåtkompatibilitet.The value of Not supported is only provided for backward-compatibility. Vi rekommenderar att du växlar till ObjectID så snart du kan.It's recommended that you switch to ObjectID as soon as you are able to.

  • Anspråk som representerar princip-ID – den här egenskapen identifierar anspråks typen där princip namnet som används i Tokenbegäran fylls i.Claim representing policy ID - This property identifies the claim type into which the policy name used in the token request is populated. Standardvärdet är tfp.The default value is tfp. Värdet för acr anges bara för bakåtkompatibilitet.The value of acr is only provided for backward-compatibility.

DirektPass-through

När en användar resa startar, Azure AD B2C ta emot en åtkomsttoken från en identitets leverantör.When a user journey starts, Azure AD B2C receives an access token from an identity provider. Azure AD B2C använder denna token för att hämta information om användaren.Azure AD B2C uses that token to retrieve information about the user. Du aktiverar ett anspråk i ditt användar flöde eller definierar ett anspråk i den anpassade principen för att skicka token till de program som du registrerar i Azure AD B2C.You enable a claim in your user flow or define a claim in your custom policy to pass the token through to the applications that you register in Azure AD B2C. Ditt program måste använda ett v2-användar flöde för att dra nytta av att skicka token som ett anspråk.Your application must be using a v2 user flow to take advantage of passing the token as a claim.

Azure AD B2C stöder för närvarande bara att skicka åtkomsttoken för OAuth 2,0-identitets leverantörer, som innehåller Facebook och Google.Azure AD B2C currently only supports passing the access token of OAuth 2.0 identity providers, which include Facebook and Google. För alla andra identitets leverantörer returneras anspråket tomt.For all other identity providers, the claim is returned blank.

ValideringValidation

För att validera en token bör programmet kontrol lera både signaturen och anspråk för token.To validate a token, your application should check both the signature and claims of the token. Många bibliotek med öppen källkod är tillgängliga för att verifiera JWTs, beroende på vilket språk du föredrar.Many open-source libraries are available for validating JWTs, depending on your preferred language. Vi rekommenderar att du utforskar dessa alternativ i stället för att implementera din egen verifierings logik.It's recommended that you explore those options rather than implement your own validation logic.

Verifiera signaturValidate signature

En JWT innehåller tre segment, ett sidhuvud, en brödtextoch en signatur.A JWT contains three segments, a header, a body, and a signature. Du kan använda signatur segmentet för att verifiera tokens äkthet så att den kan vara betrodd av ditt program.The signature segment can be used to validate the authenticity of the token so that it can be trusted by your application. Azure AD B2C tokens signeras med hjälp av algoritmer för asymmetrisk kryptering i bransch standard, till exempel RSA 256.Azure AD B2C tokens are signed by using industry-standard asymmetric encryption algorithms, such as RSA 256.

Rubriken för token innehåller information om nyckeln och krypterings metoden som används för att signera token:The header of the token contains information about the key and encryption method used to sign the token:

{
        "typ": "JWT",
        "alg": "RS256",
        "kid": "GvnPApfWMdLRi8PDmisFn7bprKg"
}

Värdet för alg -anspråket är algoritmen som användes för att signera token.The value of the alg claim is the algorithm that was used to sign the token. Värdet för barn -anspråket är den offentliga nyckel som användes för att signera token.The value of the kid claim is the public key that was used to sign the token. Vid en angiven tidpunkt kan Azure AD B2C signera en token med hjälp av någon av en uppsättning offentliga privata nyckel par.At any given time, Azure AD B2C can sign a token by using any one of a set of public-private key pairs. Azure AD B2C roterar den möjliga uppsättningen nycklar med jämna mellanrum.Azure AD B2C rotates the possible set of keys periodically. Programmet ska skrivas för att hantera dessa nycklar automatiskt.Your application should be written to handle those key changes automatically. En rimlig frekvens för att söka efter uppdateringar av de offentliga nycklar som används av Azure AD B2C är var 24: e timme.A reasonable frequency to check for updates to the public keys used by Azure AD B2C is every 24 hours.

Azure AD B2C har en slut punkt för OpenID Connect-metadata.Azure AD B2C has an OpenID Connect metadata endpoint. Med den här slut punkten kan program begära information om Azure AD B2C vid körning.Using this endpoint, applications can request information about Azure AD B2C at runtime. Den här informationen omfattar slut punkter, token innehåll och signerings nycklar för token.This information includes endpoints, token contents, and token signing keys. Din Azure AD B2C klient innehåller ett JSON-Metadatadokumentet för varje princip.Your Azure AD B2C tenant contains a JSON metadata document for each policy. Metadatadokumentet är ett JSON-objekt som innehåller flera användbara informations delar.The metadata document is a JSON object that contains several useful pieces of information. Metadata innehåller jwks_uri, vilket ger platsen för den uppsättning offentliga nycklar som används för att signera token.The metadata contains jwks_uri, which gives the location of the set of public keys that are used to sign tokens. Platsen finns här, men det är bäst att hämta platsen dynamiskt med hjälp av Metadatadokumentet och parsa jwks_uri:That location is provided here, but it's best to fetch the location dynamically by using the metadata document and parsing jwks_uri:

https://contoso.b2clogin.com/contoso.onmicrosoft.com/discovery/v2.0/keys?p=b2c_1_signupsignin1

JSON-dokumentet som finns på den här URL: en innehåller all information om den offentliga nyckeln som används vid en viss tidpunkt.The JSON document located at this URL contains all the public key information in use at a particular moment. Din app kan använda kid anspråket i JWT-huvudet för att välja den offentliga nyckeln i JSON-dokumentet som används för att signera en viss token.Your app can use the kid claim in the JWT header to select the public key in the JSON document that is used to sign a particular token. Den kan sedan utföra verifiering av signaturen med hjälp av rätt offentlig nyckel och angiven algoritm.It can then perform signature validation by using the correct public key and the indicated algorithm.

Metadatadokumentet för B2C_1_signupsignin1 principen contoso.onmicrosoft.com i klienten finns på:The metadata document for the B2C_1_signupsignin1 policy in the contoso.onmicrosoft.com tenant is located at:

https://contoso.b2clogin.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=b2c_1_signupsignin1

För att avgöra vilken princip som användes för att signera en token (och var du ska begära metadata) har du två alternativ.To determine which policy was used to sign a token (and where to go to request the metadata), you have two options. Först ingår princip namnet i acr anspråk i token.First, the policy name is included in the acr claim in the token. Du kan parsa anspråk från bröd texten i JWT genom Base-64-avkodning av texten och Avserialiserar den JSON-sträng som resulterar.You can parse claims out of the body of the JWT by base-64 decoding the body and deserializing the JSON string that results. acr Anspråket är namnet på den princip som användes för att utfärda token.The acr claim is the name of the policy that was used to issue the token. Det andra alternativet är att koda principen i värdet för state parametern när du utfärdar begäran och sedan avkoda den för att avgöra vilken princip som användes.The other option is to encode the policy in the value of the state parameter when you issue the request, and then decode it to determine which policy was used. Antingen är metoden giltig.Either method is valid.

En beskrivning av hur du utför signaturverifiering är utanför det här dokumentets omfattning.A description of how to perform signature validation is outside the scope of this document. Många bibliotek med öppen källkod är tillgängliga som hjälper dig att validera en token.Many open-source libraries are available to help you validate a token.

Validera anspråkValidate claims

När dina program eller API: er får en ID-token bör det också utföra flera kontroller mot anspråk i ID-token.When your applications or API receives an ID token, it should also perform several checks against the claims in the ID token. Följande anspråk bör kontrol leras:The following claims should be checked:

  • mål grupp – kontrollerar att ID-token är avsedd att ges till ditt program.audience - Verifies that the ID token was intended to be given to your application.
  • inte före och utgångs tid – verifierar att ID-token inte har gått ut.not before and expiration time - Verifies that the ID token hasn't expired.
  • utfärdare – kontrollerar att token har utfärdats till ditt program av Azure AD B2C.issuer - Verifies that the token was issued to your application by Azure AD B2C.
  • nonce – en strategi för repetition av attack attacker för token.nonce - A strategy for token replay attack mitigation.

En fullständig lista över vilka valideringar programmet ska utföra finns i OpenID Connect-specifikationen.For a full list of validations your application should perform, refer to the OpenID Connect specification.

Nästa stegNext steps

Läs mer om hur du använder åtkomsttoken.Learn more about how to use access tokens.