Microsoft Identity platform azonosító tokenekMicrosoft identity platform ID tokens

id_tokens az alkalmazás az OpenID Connect (OIDC) folyamat részeként lesz elküldve az ügyfélalkalmazás számára.id_tokens are sent to the client application as part of an OpenID Connect (OIDC) flow. A felhasználók az oldalon vagy a hozzáférési jogkivonat helyett is elküldhetők, és az ügyfél a felhasználó hitelesítésére használja.They can be sent along side or instead of an access token, and are used by the client to authenticate the user.

A id_token használataUsing the id_token

Az azonosító jogkivonatokat annak ellenőrzésére kell használni, hogy a felhasználó ki és milyen további hasznos információkat igényel róluk – a hozzáférési jogkivonathelyett nem használható.ID Tokens should be used to validate that a user is who they claim to be and get additional useful information about them - it shouldn't be used for authorization in place of an access token. Az általa biztosított jogcímek az alkalmazásban, az adatbázis kulcsaikéntés az ügyfélalkalmazás elérésének biztosítására használhatók.The claims it provides can be used for UX inside your application, as keys in a database, and providing access to the client application.

Jogcímek egy id_tokenClaims in an id_token

id_tokens a JWTs (JSON webes tokenek), ami azt jelenti, hogy fejlécből, adattartalomból és aláírásból álló részből állnak.id_tokens are JWTs (JSON Web Tokens), meaning they consist of a header, payload, and signature portion. A fejléc és az aláírás segítségével ellenőrizheti a jogkivonat hitelességét, míg a hasznos adatok tartalmazzák az ügyfél által kért felhasználó adatait.You can use the header and signature to verify the authenticity of the token, while the payload contains the information about the user requested by your client. Ha nincs megadva, az itt felsorolt összes JWT-jogcím 1.0-s és v 2.0-tokenekben is megjelenik.Except where noted, all JWT claims listed here appear in both v1.0 and v2.0 tokens.

1.0-s verzióv1.0

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjdfWnVmMXR2a3dMeFlhSFMzcTZsVWpVWUlHdyIsImtpZCI6IjdfWnVmMXR2a3dMeFlhSFMzcTZsVWpVWUlHdyJ9.eyJhdWQiOiJiMTRhNzUwNS05NmU5LTQ5MjctOTFlOC0wNjAxZDBmYzljYWEiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC9mYTE1ZDY5Mi1lOWM3LTQ0NjAtYTc0My0yOWYyOTU2ZmQ0MjkvIiwiaWF0IjoxNTM2Mjc1MTI0LCJuYmYiOjE1MzYyNzUxMjQsImV4cCI6MTUzNjI3OTAyNCwiYWlvIjoiQVhRQWkvOElBQUFBcXhzdUIrUjREMnJGUXFPRVRPNFlkWGJMRDlrWjh4ZlhhZGVBTTBRMk5rTlQ1aXpmZzN1d2JXU1hodVNTajZVVDVoeTJENldxQXBCNWpLQTZaZ1o5ay9TVTI3dVY5Y2V0WGZMT3RwTnR0Z2s1RGNCdGsrTExzdHovSmcrZ1lSbXY5YlVVNFhscGhUYzZDODZKbWoxRkN3PT0iLCJhbXIiOlsicnNhIl0sImVtYWlsIjoiYWJlbGlAbWljcm9zb2Z0LmNvbSIsImZhbWlseV9uYW1lIjoiTGluY29sbiIsImdpdmVuX25hbWUiOiJBYmUiLCJpZHAiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaXBhZGRyIjoiMTMxLjEwNy4yMjIuMjIiLCJuYW1lIjoiYWJlbGkiLCJub25jZSI6IjEyMzUyMyIsIm9pZCI6IjA1ODMzYjZiLWFhMWQtNDJkNC05ZWMwLTFiMmJiOTE5NDQzOCIsInJoIjoiSSIsInN1YiI6IjVfSjlyU3NzOC1qdnRfSWN1NnVlUk5MOHhYYjhMRjRGc2dfS29vQzJSSlEiLCJ0aWQiOiJmYTE1ZDY5Mi1lOWM3LTQ0NjAtYTc0My0yOWYyOTU2ZmQ0MjkiLCJ1bmlxdWVfbmFtZSI6IkFiZUxpQG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJMeGVfNDZHcVRrT3BHU2ZUbG40RUFBIiwidmVyIjoiMS4wIn0=.UJQrCA6qn2bXq57qzGX_-D3HcPHqBMOKDPx4su1yKRLNErVD8xkxJLNLVRdASHqEcpyDctbdHccu6DPpkq5f0ibcaQFhejQNcABidJCTz0Bb2AbdUCTqAzdt9pdgQvMBnVH1xk3SCM6d4BbT4BkLLj10ZLasX7vRknaSjE_C5DI7Fg4WrZPwOhII1dB0HEZ_qpNaYXEiy-o94UJ94zCr07GgrqMsfYQqFR7kn-mn68AjvLcgwSfZvyR_yIK75S_K37vC3QryQ7cNoafDe9upql_6pB2ybMVlgWPs_DmbJ8g0om-sPlwyn74Cc1tW3ze-Xptw_2uVdPgWyqfuWAfq6Q

Tekintse meg ezt a 1.0-s JWT.MS-mintát.View this v1.0 sample token in jwt.ms.

2.0-s verzióv2.0

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjFMVE16YWtpaGlSbGFfOHoyQkVKVlhlV01xbyJ9.eyJ2ZXIiOiIyLjAiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vOTEyMjA0MGQtNmM2Ny00YzViLWIxMTItMzZhMzA0YjY2ZGFkL3YyLjAiLCJzdWIiOiJBQUFBQUFBQUFBQUFBQUFBQUFBQUFJa3pxRlZyU2FTYUZIeTc4MmJidGFRIiwiYXVkIjoiNmNiMDQwMTgtYTNmNS00NmE3LWI5OTUtOTQwYzc4ZjVhZWYzIiwiZXhwIjoxNTM2MzYxNDExLCJpYXQiOjE1MzYyNzQ3MTEsIm5iZiI6MTUzNjI3NDcxMSwibmFtZSI6IkFiZSBMaW5jb2xuIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiQWJlTGlAbWljcm9zb2Z0LmNvbSIsIm9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC02NmYzLTMzMzJlY2E3ZWE4MSIsInRpZCI6IjkxMjIwNDBkLTZjNjctNGM1Yi1iMTEyLTM2YTMwNGI2NmRhZCIsIm5vbmNlIjoiMTIzNTIzIiwiYWlvIjoiRGYyVVZYTDFpeCFsTUNXTVNPSkJjRmF0emNHZnZGR2hqS3Y4cTVnMHg3MzJkUjVNQjVCaXN2R1FPN1lXQnlqZDhpUURMcSFlR2JJRGFreXA1bW5PcmNkcUhlWVNubHRlcFFtUnA2QUlaOGpZIn0.1AFWW-Ck5nROwSlltm7GzZvDwUkqvhSQpm55TQsmVo9Y59cLhRXpvB8n-55HCr9Z6G_31_UbeUkoz612I2j_Sm9FFShSDDjoaLQr54CreGIJvjtmS3EkK9a7SJBbcpL1MpUtlfygow39tFjY7EVNW9plWUvRrTgVk7lYLprvfzw-CIqw3gHC-T7IK_m_xkr08INERBtaecwhTeN4chPC4W3jdmw_lIxzC48YoQ0dB1L9-ImX98Egypfrlbm0IBL5spFzL6JDZIRRJOu8vecJvj1mq-IUhGt0MacxX8jdxYLP-KUu2d9MbNKpCKJuZ7p8gwTL5B7NlUdh_dmSviPWrw

Tekintse meg ezt a v 2.0 minta tokent a JWT.MS-ben.View this v2.0 sample token in jwt.ms.

Fejléc jogcímeiHeader claims

JogcímClaim FormátumFormat LeírásDescription
typ String – mindig "JWT"String - always "JWT" Azt jelzi, hogy a token egy JWT token.Indicates that the token is a JWT token.
alg SztringString Meghatározza a jogkivonat aláírásához használt algoritmust.Indicates the algorithm that was used to sign the token. Példa: "RS256"Example: "RS256"
kid SztringString A jogkivonat aláírásához használt nyilvános kulcs ujjlenyomata.Thumbprint for the public key used to sign this token. Az 1.0-s és a v 2.0-s verzióban is kibocsátva id_tokens .Emitted in both v1.0 and v2.0 id_tokens.
x5t SztringString Ugyanaz (használatban és értékben), mint kid .The same (in use and value) as kid. Ez azonban egy örökölt jogcím, amely csak a v 1.0-s verzióban, kompatibilitási célból lett kibocsátva id_tokens .However, this is a legacy claim emitted only in v1.0 id_tokens for compatibility purposes.

Hasznos adatokhoz tartozó jogcímekPayload claims

Ez a lista azokat a JWT jogcímeket jeleníti meg, amelyek alapértelmezés szerint a legtöbb id_tokensban szerepelnek (kivéve, ha van ilyen).This list shows the JWT claims that are in most id_tokens by default (except where noted). Az alkalmazás azonban választható jogcímeket is használhat a ID_TOKEN további JWT jogcímek igényléséhez.However, your app can use optional claims to request additional JWT claims in the id_token. Ezek a jogcím alapján a groups felhasználó nevével kapcsolatos információkra terjedhetnek.These can range from the groups claim to information about the user's name.

JogcímClaim FormátumFormat LeírásDescription
aud Karakterlánc, alkalmazás-azonosító URIString, an App ID URI Azonosítja a jogkivonat kívánt címzettjét.Identifies the intended recipient of the token. A-ben a célközönség az alkalmazáshoz id_tokens hozzárendelt alkalmazás azonosítója a Azure Portal.In id_tokens, the audience is your app's Application ID, assigned to your app in the Azure portal. Az alkalmazásnak ellenőriznie kell ezt az értéket, és el kell utasítania a jogkivonatot, ha az érték nem egyezik.Your app should validate this value, and reject the token if the value does not match.
iss Karakterlánc, STS URIString, an STS URI Azonosítja azt a biztonságijogkivonat-szolgáltatást (STS), amely létrehozza és visszaadja a tokent, valamint azt az Azure AD-bérlőt, amelyben a felhasználó hitelesítése megtörtént.Identifies the security token service (STS) that constructs and returns the token, and the Azure AD tenant in which the user was authenticated. Ha a jogkivonatot a v 2.0-végpont adta ki, akkor az URI-ja befejeződik /v2.0 .If the token was issued by the v2.0 endpoint, the URI will end in /v2.0. Az a GUID, amely azt jelzi, hogy a felhasználó egy Microsoft-fiók vásárló felhasználója 9188040d-6c67-4c5b-b112-36a304b66dad .The GUID that indicates that the user is a consumer user from a Microsoft account is 9188040d-6c67-4c5b-b112-36a304b66dad. Az alkalmazásnak a jogcím GUID részét kell használnia, hogy korlátozza azon bérlők készletét, amelyek be tudnak jelentkezni az alkalmazásba, ha vannak ilyenek.Your app should use the GUID portion of the claim to restrict the set of tenants that can sign in to the app, if applicable.
iat int, egy UNIX timestampint, a UNIX timestamp A "kiállító" érték azt jelzi, hogy a jogkivonat hitelesítése mikor történt."Issued At" indicates when the authentication for this token occurred.
idp Karakterlánc, általában egy STS URIString, usually an STS URI A jogkivonat alanyát hitelesítő identitásszolgáltatót adja meg.Records the identity provider that authenticated the subject of the token. Ez az érték megegyezik a kiállítói jogcímek értékével, kivéve, ha a felhasználói fiók nem ugyanabban a bérlőben található, mint a kiállító – vendég.This value is identical to the value of the Issuer claim unless the user account not in the same tenant as the issuer - guests, for instance. Ha a jogcím nem létezik, az azt jelenti, hogy a értéke használható iss .If the claim isn't present, it means that the value of iss can be used instead. A szervezeti környezetben használt személyes fiókok esetében (például egy Azure AD-bérlőnek meghívott személyes fiók) a idp jogcím "Live.com" vagy a Microsoft-fiók bérlőt tartalmazó STS URI lehet 9188040d-6c67-4c5b-b112-36a304b66dad .For personal accounts being used in an organizational context (for instance, a personal account invited to an Azure AD tenant), the idp claim may be 'live.com' or an STS URI containing the Microsoft account tenant 9188040d-6c67-4c5b-b112-36a304b66dad.
nbf int, egy UNIX timestampint, a UNIX timestamp A "NBF" (nem korábban) jogcím azt az időpontot határozza meg, ameddig a JWT nem fogadható el a feldolgozáshoz.The "nbf" (not before) claim identifies the time before which the JWT MUST NOT be accepted for processing.
exp int, egy UNIX timestampint, a UNIX timestamp Az "exp" (lejárati idő) jogcím azt a lejárati időt azonosítja, amely után a JWT nem fogadható el feldolgozásra.The "exp" (expiration time) claim identifies the expiration time on or after which the JWT MUST NOT be accepted for processing. Fontos megjegyezni, hogy egy erőforrás még a token elutasítása előtt is elutasítja a jogkivonatot – Ha például a hitelesítés változására van szükség, vagy a rendszer jogkivonat-visszavonást észlelt.It's important to note that a resource may reject the token before this time as well - if, for example, a change in authentication is required or a token revocation has been detected.
c_hash SztringString A kód kivonata csak akkor szerepel az azonosító jogkivonatokban, ha az azonosító jogkivonatot egy OAuth 2,0-es engedélyezési kóddal adják ki.The code hash is included in ID tokens only when the ID token is issued with an OAuth 2.0 authorization code. Az engedélyezési kódok hitelességének ellenőrzéséhez használható.It can be used to validate the authenticity of an authorization code. Az érvényesítés végrehajtásáról az OpenID Connect specifikációjábanolvashat bővebben.For details about performing this validation, see the OpenID Connect specification.
at_hash SztringString A hozzáférési jogkivonat kivonata csak akkor szerepel az azonosító jogkivonatokban, ha az azonosító jogkivonatot a /authorize OAuth 2,0 hozzáférési jogkivonattal adja ki a végpontból.The access token hash is included in ID tokens only when the ID token is issued from the /authorize endpoint with an OAuth 2.0 access token. A hozzáférési token hitelességének ellenőrzéséhez használható.It can be used to validate the authenticity of an access token. Az érvényesítés végrehajtásáról az OpenID Connect specifikációjábanolvashat bővebben.For details about performing this validation, see the OpenID Connect specification. Ez a végpont nem ad vissza azonosító jogkivonatokat /token .This is not returned on ID tokens from the /token endpoint.
aio Átlátszatlan karakterláncOpaque String Az Azure AD által az adatok a jogkivonat újrafelhasználásához használt belső jogcímek.An internal claim used by Azure AD to record data for token reuse. Figyelmen kívül kell hagyni.Should be ignored.
preferred_username SztringString A felhasználót jelölő elsődleges Felhasználónév.The primary username that represents the user. Ez lehet egy e-mail-cím, telefonszám vagy egy általános Felhasználónév megadott formátum nélkül.It could be an email address, phone number, or a generic username without a specified format. Az értéke változtatható, és idővel változhat.Its value is mutable and might change over time. Mivel ez az érték változhat, nem használható az engedélyezési döntések elvégzéséhez.Since it is mutable, this value must not be used to make authorization decisions. profileEnnek a jogcímnek a fogadásához a hatókörre van szükség.The profile scope is required to receive this claim.
email SztringString A jogcímek email alapértelmezés szerint az e-mail-címmel rendelkező vendég fiókok esetében jelennek meg.The email claim is present by default for guest accounts that have an email address. Az alkalmazás kérheti az e-mail-jogcímet a felügyelt felhasználók számára (az erőforrással megegyező bérlőtől) a email választható jogcímhasználatával.Your app can request the email claim for managed users (those from the same tenant as the resource) using the email optional claim. A v 2.0-s végponton az alkalmazás az email OpenID Connect hatókörét is kérheti – nem kell megadnia mind a választható jogcímet, mind a hatókört a jogcím beszerzéséhez.On the v2.0 endpoint, your app can also request the email OpenID Connect scope - you don't need to request both the optional claim and the scope to get the claim. Az e-mail-jogcím csak a felhasználó profiljának adataiból származó címezhető leveleket támogatja.The email claim only supports addressable mail from the user's profile information.
name SztringString A name jogcím egy ember által olvasható értéket biztosít, amely azonosítja a jogkivonat tárgyát.The name claim provides a human-readable value that identifies the subject of the token. Az érték nem garantált, hogy egyedi, megváltoztathatatlan, és csak megjelenítési célokra használható.The value isn't guaranteed to be unique, it is mutable, and it's designed to be used only for display purposes. profileEnnek a jogcímnek a fogadásához a hatókörre van szükség.The profile scope is required to receive this claim.
nonce SztringString Az egyszeres érték megegyezik az eredeti/Authorize-kérelemben szereplő paraméterrel a IDENTITÁSSZOLGÁLTATÓ.The nonce matches the parameter included in the original /authorize request to the IDP. Ha nem egyezik, az alkalmazásnak el kell utasítania a jogkivonatot.If it does not match, your application should reject the token.
oid Karakterlánc, GUIDString, a GUID Egy objektum megváltoztathatatlan azonosítója a Microsoft Identity Systemben, ebben az esetben egy felhasználói fiók.The immutable identifier for an object in the Microsoft identity system, in this case, a user account. Ez az azonosító egyedileg azonosítja a felhasználót az alkalmazások között – két különböző alkalmazás, amely ugyanazon a felhasználón jelentkezik be, ugyanazokat az értékeket kapja meg a oid jogcímben.This ID uniquely identifies the user across applications - two different applications signing in the same user will receive the same value in the oid claim. A Microsoft Graph id egy adott felhasználói fiókhoz tartozó tulajdonságként adja vissza ezt az azonosítót.The Microsoft Graph will return this ID as the id property for a given user account. Mivel a oid lehetővé teszi, hogy több alkalmazás is összekapcsolja a felhasználókat, a profile hatókörnek meg kell kapnia a jogcímet.Because the oid allows multiple apps to correlate users, the profile scope is required to receive this claim. Vegye figyelembe, hogy ha egyetlen felhasználó több bérlőn is létezik, akkor a felhasználó minden bérlőn egy másik objektumazonosítót fog tartalmazni – ezeket a rendszer akkor is különböző fiókoknak tekinti, ha a felhasználó ugyanazzal a hitelesítő adatokkal jelentkezik be az egyes fiókokba.Note that if a single user exists in multiple tenants, the user will contain a different object ID in each tenant - they're considered different accounts, even though the user logs into each account with the same credentials. A oid jogcím egy GUID azonosító, és nem használható fel újra.The oid claim is a GUID and cannot be reused.
roles Karakterláncok tömbjeArray of strings A bejelentkezett felhasználóhoz hozzárendelt szerepkörök összessége.The set of roles that were assigned to the user who is logging in.
rh Átlátszatlan karakterláncOpaque String Az Azure által a jogkivonatok újraellenőrzéséhez használt belső jogcím.An internal claim used by Azure to revalidate tokens. Figyelmen kívül kell hagyni.Should be ignored.
sub SztringString Az a rendszerbiztonsági tag, amelyről a jogkivonat adatokat érvényesít, például egy alkalmazás felhasználóját.The principal about which the token asserts information, such as the user of an app. Ez az érték nem módosítható, és nem rendelhető hozzá újra, és nem használható újra.This value is immutable and cannot be reassigned or reused. A tulajdonos egy páros-azonosító – egyedi egy adott alkalmazás-AZONOSÍTÓhoz.The subject is a pairwise identifier - it is unique to a particular application ID. Ha egyetlen felhasználó két különböző alkalmazásba jelentkezik be két különböző ügyfél-azonosítóval, akkor ezek az alkalmazások két különböző értéket kapnak a tulajdonos jogcímek számára.If a single user signs into two different apps using two different client IDs, those apps will receive two different values for the subject claim. Az architektúra-és adatvédelmi követelményektől függően ez lehet vagy nem kívánatos.This may or may not be wanted depending on your architecture and privacy requirements.
tid Karakterlánc, GUIDString, a GUID Egy GUID, amely azt az Azure AD-bérlőt jelöli, amelyből a felhasználó származik.A GUID that represents the Azure AD tenant that the user is from. Munkahelyi és iskolai fiókok esetén a GUID az a szervezet, amelyhez a felhasználó tartozik.For work and school accounts, the GUID is the immutable tenant ID of the organization that the user belongs to. A személyes fiókok esetében az érték a következő: 9188040d-6c67-4c5b-b112-36a304b66dad .For personal accounts, the value is 9188040d-6c67-4c5b-b112-36a304b66dad. profileEnnek a jogcímnek a fogadásához a hatókörre van szükség.The profile scope is required to receive this claim.
unique_name SztringString A jogkivonat alanyát azonosító, ember által olvasható értéket ad meg.Provides a human readable value that identifies the subject of the token. Ez az érték egy adott időpontban egyedi, de az e-mailek és más azonosítók újból felhasználhatók, ez az érték más fiókokban is újra szerepelhet, ezért csak megjelenítési célokra használható.This value is unique at any given point in time, but as emails and other identifiers can be reused, this value can reappear on other accounts, and should therefore be used only for display purposes. Csak a 1.0-s verzióban van kiállítva id_tokens .Only issued in v1.0 id_tokens.
uti Átlátszatlan karakterláncOpaque String Az Azure által a jogkivonatok újraellenőrzéséhez használt belső jogcím.An internal claim used by Azure to revalidate tokens. Figyelmen kívül kell hagyni.Should be ignored.
ver Karakterlánc, vagy 1,0 vagy 2,0String, either 1.0 or 2.0 Megadja a id_token verzióját.Indicates the version of the id_token.
hasgroups LogikaiBoolean Ha van, mindig igaz, ami azt jelöli, hogy a felhasználó legalább egy csoportban van.If present, always true, denoting the user is in at least one group. A JWTs implicit engedélyezési folyamatokban használt csoportok helyett használható, ha a teljes csoportokra vonatkozó jogcím kiterjeszti az URI-töredéket az URL-cím hosszának korlátain túl (jelenleg 6 vagy több csoport).Used in place of the groups claim for JWTs in implicit grant flows if the full groups claim would extend the URI fragment beyond the URL length limits (currently 6 or more groups). Azt jelzi, hogy az ügyfélnek a Microsoft Graph API-t kell használnia a felhasználó csoportjainak () meghatározásához https://graph.microsoft.com/v1.0/users/{userID}/getMemberObjects .Indicates that the client should use the Microsoft Graph API to determine the user's groups (https://graph.microsoft.com/v1.0/users/{userID}/getMemberObjects).
groups:src1 JSON-objektumJSON object A nem hosszúságú jogkivonat-kérelmek esetében (lásd a hasgroups fentieket), de még mindig túl nagy a tokenhez, a rendszer a felhasználó teljes csoportok listájára mutató hivatkozást tartalmaz.For token requests that are not length limited (see hasgroups above) but still too large for the token, a link to the full groups list for the user will be included. Elosztott jogcímek esetén az SAML-t a jogcím helyett új jogcímként JWTs groups .For JWTs as a distributed claim, for SAML as a new claim in place of the groups claim.

Példa JWT értékre:Example JWT Value:
"groups":"src1"
"_claim_sources: "src1" : { "endpoint" : "https://graph.microsoft.com/v1.0/users/{userID}/getMemberObjects" }"_claim_sources: "src1" : { "endpoint" : "https://graph.microsoft.com/v1.0/users/{userID}/getMemberObjects" }

További információ: groups overing jogcím.For more info, see Groups overage claim.

Megjegyzés

A 1.0-s és a 2.0-s verzió id_token a fenti példákban látható információk mennyiségétől függ.The v1.0 and v2.0 id_token have differences in the amount of information they will carry as seen from the examples above. A verzió a kért végponton alapul.The version is based on the endpoint from where it was requested. Habár a meglévő alkalmazások valószínűleg az Azure AD-végpontot használják, az új alkalmazásoknak a v 2.0 "Microsoft Identity platform" végpontot kell használniuk.While existing applications likely use the Azure AD endpoint, new applications should use the v2.0 "Microsoft identity platform" endpoint.

  • 1.0-s verzió: Azure AD-végpontok: https://login.microsoftonline.com/common/oauth2/authorizev1.0: Azure AD endpoints: https://login.microsoftonline.com/common/oauth2/authorize
  • v 2.0: Microsoft Identity platform-végpontok: https://login.microsoftonline.com/common/oauth2/v2.0/authorizev2.0: Microsoft identity Platform endpoints: https://login.microsoftonline.com/common/oauth2/v2.0/authorize

A felhasználók megbízható azonosítására szolgáló jogcímek használata (tárgy és objektumazonosító)Using claims to reliably identify a user (Subject and Object ID)

Amikor azonosít egy felhasználót (például megkeresi őket egy adatbázisban, vagy eldönti, hogy milyen engedélyekkel rendelkeznek), fontos, hogy olyan információkat használjon, amelyek állandó és egyedi maradnak az idő során.When identifying a user (say, looking them up in a database, or deciding what permissions they have), it's critical to use information that will remain constant and unique across time. A régi alkalmazások időnként olyan mezőt használnak, mint az e-mail-cím, a telefonszám vagy az egyszerű felhasználónév.Legacy applications sometimes use field like the email address, a phone number, or the UPN. Ezek az idő múlásával változhatnak, és idővel újra felhasználhatók, amikor egy alkalmazott megváltoztatja a nevét, vagy egy alkalmazott olyan e-mail-címet kap, amely megegyezik egy korábbi, már meglévő alkalmazottal.All of these can change over time, and can also be reused over time - when an employee changes their name, or an employee is given an email address that matches that of a previous, no longer present employee). Ezért fontos, hogy az alkalmazás ne használjon emberi olvasásra alkalmas adatait, hogy azonosítsa a felhasználó által olvasható, általánosságban azt jelenti, hogy valaki el fogja olvasni, és módosítani szeretné.Thus, it is critical that your application not use human-readable data to identify a user - human readable generally means someone will read it, and want to change it. Ehelyett használja a OIDC standard által biztosított jogcímeket, vagy a Microsoft által biztosított kiterjesztési jogcímeket, illetve a sub oid jogcímeket.Instead, use the claims provided by the OIDC standard, or the extension claims provided by Microsoft - the sub and oid claims.

Ha az adatokat felhasználónként szeretné tárolni, használjon sub vagy oid önállóan (amely egyedi GUID-azonosítók), és szükség esetén használja tid az útválasztást vagy a horizontális skálázást.To correctly store information per-user, use sub or oid alone (which as GUIDs are unique), with tid used for routing or sharding if needed. Ha a szolgáltatások között meg kell osztania az adatmegosztást, a oid + tid legjobb, ha az összes alkalmazás ugyanazokat oid és tid jogcímeket kap az adott felhasználó számára.If you need to share data across services, oid+tid is best as all apps get the same oid and tid claims for a given user. A sub Microsoft Identity platform jogcíme "pair-Wise" – a jogkivonat-címzett, a bérlő és a felhasználó kombinációja alapján egyedi.The sub claim in the Microsoft identity platform is "pair-wise" - it is unique based on a combination of the token recipient, tenant, and user. Így az adott felhasználóhoz tartozó azonosító jogkivonatokat kérő alkalmazások különböző sub jogcímeket kapnak, de az adott oid felhasználóhoz tartozó jogcímeket is.Thus, two apps that request ID tokens for a given user will receive different sub claims, but the same oid claims for that user.

Megjegyzés

Ne használja a idp jogcímet a felhasználóval kapcsolatos adatok tárolására a bérlők közötti összekapcsolásra tett kísérlet során.Do not use the idp claim to store information about a user in an attempt to correlate users across tenants. Ez nem fog működni, mivel a oid és a sub jogcímek a bérlők között megváltoznak, így biztosítva, hogy az alkalmazások ne tudják nyomon követni a felhasználókat a bérlők között.It will not function, as the oid and sub claims for a user change across tenants, by design, to ensure that applications cannot track users across tenants.

A vendég forgatókönyvek, ahol egy felhasználó egy bérlőn van felhasználva, és a hitelesítés egy másikban történik, úgy kell kezelnie a felhasználót, mintha az új felhasználó legyen a szolgáltatásban.Guest scenarios, where a user is homed in one tenant, and authenticates in another, should treat the user as if they are a brand new user to the service. A contoso-bérlő dokumentumai és jogosultságai nem alkalmazhatók a fabrikam-bérlőben.Your documents and privileges in the Contoso tenant should not apply in the Fabrikam tenant. Ez azért fontos, hogy megakadályozza a véletlen adatszivárgást a bérlők között.This is important to prevent accidental data leakage across tenants.

Csoporton túli jogcímekGroups overage claim

Annak biztosítása érdekében, hogy a jogkivonat mérete ne haladja meg a HTTP-fejléc méretének korlátait, az Azure AD korlátozza a jogcímben foglalt objektumazonosítók számát groups .To ensure that the token size doesn't exceed HTTP header size limits, Azure AD limits the number of object IDs that it includes in the groups claim. Ha a felhasználó több csoport tagja, mint a túlhasználati korlát (SAML-tokenek esetében 150, 200 JWT-token esetében), akkor az Azure AD nem bocsátja ki a groups jogcímet a jogkivonatban.If a user is member of more groups than the overage limit (150 for SAML tokens, 200 for JWT tokens), then Azure AD does not emit the groups claim in the token. Ehelyett a jogkivonat olyan túlhasználati jogcímet tartalmaz, amely azt jelzi, hogy az alkalmazás lekérdezi a Microsoft Graph API-t a felhasználó csoporttagság beolvasásához.Instead, it includes an overage claim in the token that indicates to the application to query the Microsoft Graph API to retrieve the user's group membership.

{
  ...
  "_claim_names": {
   "groups": "src1"
    },
    {
  "_claim_sources": {
    "src1": {
        "endpoint":"[Url to get this user's group membership from]"
        }
       }
     }
  ...
 }

Id_token ellenőrzéseValidating an id_token

A egy id_token hozzáférési jogkivonat érvényesítésének első lépése hasonló, az ügyfél ellenőrizheti, hogy a megfelelő kiállító visszaküldte-e a tokent, és hogy nem módosították-e illetéktelenül.Validating an id_token is similar to the first step of validating an access token - your client can validate that the correct issuer has sent back the token and that it hasn't been tampered with. Mivel id_tokens a JWT-tokenek mindig a jogkivonatok érvényesítésére szolgálnak, ezért javasoljuk, hogy ezeket a tokeneket ne használja.Because id_tokens are always a JWT token, many libraries exist to validate these tokens - we recommend you use one of these rather than doing it yourself. Vegye figyelembe, hogy csak a bizalmas ügyfelek (titkos kulcsokkal rendelkezők) ellenőrzik az azonosító jogkivonatokat.Note that only confidential clients (those with a secret) should validate ID tokens. Nyilvános alkalmazások (a teljes mértékben a nem vezérelt eszközön vagy hálózaton futó kód, például egy felhasználó böngészője vagy otthoni hálózata) nem jogosult az azonosító jogkivonat érvényesítésére, mivel a rosszindulatú felhasználó feltartóztathatja és szerkesztheti a jogkivonat érvényesítéséhez használt kulcsokat.Public applications (code running entirely on a device or network you don't control - for instance, a user's browser or their home network) don't benefit from validating the ID token, as a malicious user can intercept and edit the keys used for validation of the token.

A jogkivonat manuális érvényesítéséhez tekintse meg a hozzáférési token érvényesítésecímű témakör lépéseit.To manually validate the token, see the steps details in validating an access token. A jogkivonat aláírásának ellenőrzése után a következő JWT jogcímeket érvényesíteni kell a id_tokenban (ezeket a jogkivonat-ellenőrzési kódtár is megteheti):After validating the signature on the token, the following JWT claims should be validated in the id_token (these may also be done by your token validation library):

  • Időbélyegek: a iat , nbf és az exp időbélyegek az aktuális időpont előtt vagy után kell esniük, ha szükséges.Timestamps: the iat, nbf, and exp timestamps should all fall before or after the current time, as appropriate.
  • Célközönség: a aud jogcímnek meg kell egyeznie az alkalmazáshoz tartozó alkalmazás-azonosítóval.Audience: the aud claim should match the app ID for your application.
  • Alkalom: az nonce adattartalomban szereplő jogcímnek meg kell egyeznie a/Authorize-végpontnak a kezdeti kérelem során átadott egyszeres paraméterrel.Nonce: the nonce claim in the payload must match the nonce parameter passed into the /authorize endpoint during the initial request.

Következő lépésekNext steps