Accesstoken json
Référence des revendications de jeton
d’accès Les jetons d’accès sont des jetons Web JSON (JWT). Les JWT contiennent les éléments suivants :
- En-tête : fournit des informations sur la validation du jeton, y compris des informations sur le type de jeton et sa méthode de signature.
- Charge utile : contient toutes les données importantes sur l’utilisateur ou l’application qui tente d’appeler le service.
- Signature : il s’agit de la matière première utilisée pour valider le jeton.
Chaque pièce est séparée par un point () et encodée séparément en Base 64.
Les revendications ne sont présentes que s’il existe une valeur pour les remplir. Une application ne doit pas dépendre de la présence d’une revendication. Par exemple (tous les locataires n’ont pas besoin que les mots de passe expirent) et (les flux d’informations d’identification du client sont pour le compte de applications qui n’ont pas de nom). Le jeton d’accès contiendra toujours suffisamment de revendications pour l’évaluation de l’accès.
La plateforme d’identité Microsoft utilise certaines revendications pour aider à sécuriser les jetons en vue de leur réutilisation. La description de marque ces revendications comme n’étant pas destinées à la consommation publique. Ces revendications peuvent ou non apparaître dans un jeton, et de nouvelles peuvent être ajoutées sans préavis.
Claim | Format Description | |
---|---|---|
String - toujours | Indique que le jeton est un JWT. | |
Chaîne | Indique l’algorithme utilisé pour signer le jeton, par exemple, . | |
String | Spécifie l’empreinte de la clé publique utilisée pour valider la signature du jeton. Émis dans les jetons d’accès v1.0 et v2.0. | |
String | Fonctions identiques (en termes d’utilisation et de valeur) à celles de . et est une revendication héritée émise uniquement dans les jetons d’accès v1.0 à des fins de compatibilité. |
Revendications de charge utile
Format de | revendication | Description | Considérations d’autorisation |
---|---|---|---|
Tableau JSON de chaînes | Indique les ID de contexte d’authentification des opérations que le porteur est autorisé à effectuer. Les ID de contexte d’authentification peuvent être utilisés pour déclencher une demande d’authentification renforcée à partir de votre application et de vos services. Souvent utilisé avec la revendication. | ||
Chaîne, un URI ou GUID d’ID d’application | Identifie le public visé par le jeton. Dans les jetons v2.0, cette valeur est toujours l’ID client de l’API. Dans les tokens v1.0, il peut s’agir de l’ID client ou URI de la ressource utilisée dans la demande. La valeur peut dépendre de la façon dont le client a demandé le jeton. | Cette valeur doit être validée, rejetez le jeton si la valeur ne correspond pas à l’audience visée. | |
Chaîne, un URI de service de jeton de sécurité (STS) | Identifie le STS qui construit et retourne le jeton, ainsi que le locataire Microsoft Entra de l’utilisateur authentifié. Si le jeton émis est un jeton v2.0 (voir la revendication), l’URI se termine par . Le GUID qui indique que l’utilisateur est un utilisateur consommateur à partir d’un compte Microsoft est . | L’application peut utiliser la partie GUID de la revendication pour restreindre l’ensemble des locataires qui peuvent se connecter à l’application, le cas échéant. | |
Chaîne, généralement une URI STS | Enregistre le fournisseur d’identité qui a authentifié l’objet du jeton. Cette valeur est identique à la valeur de la créance de l’émetteur, sauf si Le compte d’utilisateur ne se trouve pas dans le même locataire que l’émetteur, par exemple Invités. Utilisez la valeur de si la revendication n’est pas présente. Pour les comptes personnels utilisés dans un contexte organisationnel (par exemple, un compte personnel invité à un locataire Microsoft Entra), la revendication peut être « live.com » ou un URI STS contenant le locataire de compte Microsoft. | ||
int, un horodatage Unix | Spécifie quand l’authentification de ce jeton a eu lieu. | ||
int, un horodatage Unix | Spécifie le temps après lequel le JWT peut être traité. | ||
int, un horodatage Unix | Spécifie le délai d’expiration avant lequel le JWT peut être accepté pour le traitement. Une ressource peut également rejeter le jeton avant cette heure. Le rejet peut se produire pour une modification requise de l’authentification ou lorsqu’un jeton est révoqué. | ||
opaque Chaîne | Revendication interne utilisée par l’ID Microsoft Entra pour enregistrer des données en vue de la réutilisation du jeton. Les ressources ne devraient pas utiliser cette affirmation. | ||
Chaîne, a ou , uniquement présent dans les jetons v1.0 La | valeur de pour la revendication « Classe de contexte d’authentification » indique que l’authentification de l’utilisateur final n’a pas satisfait aux exigences de la norme ISO/IEC 29115. | ||
Tableau JSON de chaînes, présent uniquement dans les jetons v1.0 | Identifie la méthode d’authentification du sujet du jeton. | ||
Chaîne, un GUID, présente uniquement dans les jetons v1.0 | ID d’application du client utilisant le jeton. L’application peut agir en son nom ou au nom d’un utilisateur. L’ID d’application représente généralement un objet d’application, mais il peut également représenter un objet principal de service dans l’ID Entra Microsoft. | peut être utilisé dans les décisions d’autorisation. | |
Chaîne, un GUID, uniquement présent dans les jetons v2.0 | Remplacement de . ID d’application du client utilisant le jeton. L’application peut agir en son nom ou au nom d’un utilisateur. L’ID d’application représente généralement un objet d’application, mais il peut également représenter un objet principal de service dans l’ID Entra Microsoft. | peut être utilisé dans les décisions d’autorisation. | |
Chaîne, a , ou , uniquement présent dans les jetons v1.0 | Indique la méthode d’authentification du client. Pour un client public, la valeur est . Lorsque vous utilisez l’ID client et la clé secrète client, la valeur est . Lorsque vous utilisez un certificat client pour l’authentification, la valeur est . | ||
Chaîne, a , ou , présent uniquement dans les jetons v2.0 | Remplacement de . Indique la méthode d’authentification du client. Pour un client public, la valeur est . Lorsque vous utilisez l’ID client et la clé secrète client, la valeur est . Lorsque vous utilisez un certificat client pour l’authentification, la valeur est . | ||
String, présent uniquement dans les jetons v2.0. | Nom d’utilisateur principal qui représente l’utilisateur. Il peut s’agir d’une adresse e-mail, d’un numéro de téléphone ou d’un nom d’utilisateur générique sans format spécifié. Utilisez la valeur pour les indicateurs de nom d’utilisateur et dans l’interface utilisateur lisible par l’homme en tant que nom d’utilisateur. Pour recevoir cette réclamation, utilisez l’étendue. | Étant donné que cette valeur est mutable, ne l’utilisez pas pour prendre des décisions d’autorisation. | |
String | Fournit une valeur lisible par l’homme qui identifie l’objet du jeton. La valeur peut varier, elle est modifiable et n’est fournie qu’à des fins d’affichage. Pour recevoir cette réclamation, utilisez l’étendue. | N’utilisez pas cette valeur pour prendre des décisions d’autorisation. | |
String, une liste de portées séparées par des espaces L’ensemble | des périmètres exposés par l’application pour lesquels l’application cliente a demandé (et reçu) le consentement. Inclus uniquement pour les jetons d’utilisateur. | L’application doit vérifier que ces étendues sont valides et prendre des décisions d’autorisation en fonction de la valeur de ces étendues. | |
Tableau de chaînes, liste d’autorisations | Ensemble des autorisations exposées par l’application que l’application ou l’utilisateur demandeur a été autorisé à appeler. Le flux d’informations d’identification du client utilise cet ensemble d’autorisations à la place des étendues d’utilisateur pour les jetons d’application. Pour les jetons utilisateur, cet ensemble de valeurs contient les rôles attribués à l’utilisateur sur l’application cible. | Ces valeurs peuvent être utilisées pour gérer l’accès, par exemple pour appliquer l’autorisation d’accès à une ressource. | |
tableau de GUID RoleTemplateID | désigne le à l’échelle du locataire attribués à cet utilisateur, à partir de la section des rôles présents dans les rôles intégrés Microsoft Entra. La propriété du manifeste de l’application configure cette revendication pour chaque application. Définissez la revendication sur ou . | Ces valeurs peuvent être utilisées pour gérer l’accès, par exemple pour appliquer l’autorisation d’accès à une ressource. | |
Tableau JSON de GUID | Fournit des ID d’objet qui représentent les appartenances aux groupes du sujet. La propriété du manifeste de l’application configure la revendication des groupes pour chaque application. La valeur de exclut tous les groupes, la valeur inclut les rôles d’annuaire et les appartenances aux groupes de sécurité Active Directory, et la valeur inclut les groupes de sécurité et les listes de distribution Microsoft 365. Pour les autres flux, si le nombre de groupes dans lesquels se trouve l’utilisateur dépasse 150 pour SAML et 200 pour JWT, Microsoft Entra ID ajoute une réclamation de dépassement aux sources de revendication. Le Les sources de revendication pointent vers le point de terminaison Microsoft Graph qui contient la liste des groupes de l’utilisateur. | Ces valeurs peuvent être utilisées pour gérer l’accès, par exemple pour appliquer l’autorisation d’accès à une ressource. | |
Booléen | S’il est présent, toujours , indique si l’utilisateur fait partie d’au moins un groupe. Indique que le client doit utiliser l’API Microsoft Graph pour déterminer les groupes () de l’utilisateur. | ||
Objet JSON | Inclut un lien vers la liste complète des groupes pour l’utilisateur lorsque les demandes de jeton sont trop volumineuses pour le jeton. Pour les JWT en tant que revendication distribuée, pour SAML en tant que nouvelle revendication à la place de la revendication. Exemple de valeur JWT : | ||
String | Le principal associé au jeton. Par exemple, l’utilisateur d’une application. Cette valeur est immuable, ne la réaffectez pas ou réutiliser. L’objet est un identificateur par paire unique à un ID d’application particulier. Si un seul utilisateur se connecte à deux applications différentes à l’aide de deux ID client différents, ces applications reçoivent deux valeurs différentes pour la revendication d’objet. L’utilisation des deux valeurs différentes dépend de l’architecture et des exigences en matière de confidentialité. Voir aussi la revendication, qui reste la même dans toutes les applications au sein d’un locataire. | Cette valeur peut être utilisée pour effectuer des vérifications d’autorisation, par exemple lorsque le jeton est utilisé pour accéder à une ressource, et peut être utilisée comme clé dans les tables de base de données. | |
Chaîne, GUID | Identificateur immuable du demandeur, qui est l’identité vérifiée de l’utilisateur ou du principal de service. Cet ID identifie de manière unique le demandeur dans toutes les applications. Deux applications différentes qui se connectent au même utilisateur reçoivent la même valeur dans la revendication. Le peut être utilisé lors de requêtes aux services en ligne Microsoft, tels que Microsoft Graph. Microsoft Graph retourne cet ID en tant que propriété pour un compte d’utilisateur donné. Étant donné que le permet à plusieurs applications de corréler les principes, pour recevoir cette revendication pour les utilisateurs, utilisez l’étendue. Si un seul utilisateur existe dans plusieurs locataires, l’utilisateur contient un ID d’objet différent dans chaque locataire. Même si l’utilisateur se connecte à chaque compte avec les mêmes informations d’identification, les comptes sont différents. | Cette valeur peut être utilisée pour effectuer des vérifications d’autorisation, par exemple lorsque le jeton est utilisé pour accéder à une ressource, et peut être utilisée comme clé dans les tables de base de données. | |
Chaîne, GUID | Représente le locataire auquel l’utilisateur se connecte. Pour les comptes professionnels et scolaires, le GUID est l’ID de locataire immuable de l’organisation à laquelle l’utilisateur se connecte. Pour les connexions au client du compte Microsoft personnel (services tels que Xbox, Teams for Life, ou Outlook), la valeur est . Pour recevoir cette réclamation, l’application doit en demander le champ d’application. | Cette valeur doit être prise en compte en combinaison avec d’autres allégations dans les décisions d’autorisation. | |
Chaîne, présente uniquement dans les jetons v1.0 | Fournit une valeur lisible par l’homme qui identifie l’objet du jeton. | Cette valeur peut être différente au sein d’un locataire et l’utiliser uniquement à des fins d’affichage. | |
Revendication d’identificateur de jeton de chaîne, équivalente à dans la spécification JWT. Identificateur unique, par jeton, sensible à la casse. | |||
Chaîne opaque | Revendication interne utilisée par Azure pour revalider les jetons. Les ressources ne devraient pas utiliser cette affirmation. | ||
Chaîne, soit ou | Indique la version du jeton d’accès. | ||
tableau JSON de strings | Indique si l’application cliente qui a acquis le jeton est capable de gérer les contestations de réclamations. Il est souvent utilisé avec la revendication . Cette revendication est couramment utilisée dans les scénarios d’évaluation de l’accès conditionnel et de l’accès continu. Le serveur de ressources ou l’application de service pour lequel le jeton est émis contrôle la présence de cette revendication dans un jeton. La valeur de dans le jeton d’accès est le moyen faisant autorité d’identifier qu’une application cliente est capable de gérer une contestation des réclamations. Pour plus d’informations, consultez Contestations de réclamations, demandes de réclamations et fonctionnalités client. |
Remarque
Les revendications , , et ne constituent pas une liste exhaustive de la façon dont une ressource peut autoriser un utilisateur ou une application, ni une liste exhaustive des autorisations accordées à l’appelant. La ressource cible peut utiliser une autre méthode pour autoriser l’accès à ses ressources protégées.
L’ID
Microsoft Entra limite le nombre d’ID d’objet qu’il inclut dans la revendication de groupe pour rester dans la limite de taille de l’en-tête HTTP. Si un utilisateur est membre d’un nombre de groupes supérieur à la limite de dépassement (150 pour les jetons SAML, 200 pour les jetons JWT), l’ID Entra Microsoft n’émet pas la revendication de groupes dans le jeton. Au lieu de cela, il inclut une revendication de dépassement dans le jeton qui indique à l’application d’interroger l’API Microsoft Graph pour récupérer l’appartenance au groupe de l’utilisateur.
Utilisez le fourni dans le dossier Scripts de création d’application pour tester les scénarios de dépassement.
Remarque
L’URL renvoyée est une URL Azure AD Graph (c’est-à-dire graph.windows.net). Au lieu de s’appuyer sur cette URL, les services doivent utiliser la revendication facultative (qui identifie si le jeton est une application ou un jeton app+utilisateur) pour construire une URL Microsoft Graph permettant d’interroger le liste complète des groupes.
Revendications de base v1.0
Les jetons v1.0 incluent les revendications suivantes, le cas échéant, mais pas les jetons v2.0 par défaut. Pour utiliser ces revendications pour la version 2.0, l’application les demande à l’aide de revendications facultatives.
Revendication | Format Description | |
---|---|---|
Chaîne Adresse | IP à partir de laquelle l’utilisateur s’est authentifié. | |
Chaîne, au format SID | Dans les cas où l’utilisateur dispose d’une authentification locale, cette revendication fournit son SID. Utilisez cette revendication pour l’autorisation dans les applications héritées. | |
int, un horodatage Unix | Indique quand le mot de passe de l’utilisateur expire. | |
Chaîne | Une URL où les utilisateurs peuvent réinitialiser leur mot de passe. | |
booléen | Signale si le client se connecte à partir du réseau d’entreprise. | |
Chaîne | Un autre nom pour l’utilisateur, distinct du prénom ou du nom. | |
Chaîne | Fournit le nom, le nom ou le nom de famille de l’utilisateur, tel que défini sur l’objet utilisateur. | |
String | Fournit le prénom ou le prénom de l’utilisateur, tel qu’il est défini sur l’objet utilisateur. | |
String | Nom d’utilisateur de l’utilisateur. Il peut s’agir d’un numéro de téléphone, d’une adresse e-mail ou d’une chaîne non formatée. Utiliser uniquement à des fins d’affichage et de fourniture d’indices de nom d’utilisateur dans les scénarios de réauthentification. |
Les
identités peuvent s’authentifier de différentes manières, ce qui peut être pertinent pour l’application. La revendication est un tableau qui peut contenir plusieurs , tels que , pour une authentification qui a utilisé à la fois un mot de passe et l’application Authenticator.
Valeur | Description |
---|---|
Authentification par mot de passe, soit le mot de passe Microsoft d’un utilisateur, soit une clé secrète client d’une application. | |
L’authentification était basée sur la preuve d’une clé RSA, par exemple avec l’application Microsoft Authenticator. Cette valeur indique également l’utilisation d’un JWT auto-signé avec un certificat X509 appartenant au service en authentification. | |
Code d’accès à usage unique à l’aide d’un e-mail ou d’un SMS. | |
Indique l’utilisation d’une assertion d’authentification fédérée (telle que JWT ou SAML). | |
Authentification intégrée Windows | |
Indique l’utilisation de l’authentification multifacteur. Comprend les autres lorsque cette revendication est présente. | |
Équivalent à , utilisé pour le provisionnement de certains types d’informations d’identification avancés. | |
L’utilisateur a utilisé Windows ou des informations d’identification MFA pour s’authentifier. | |
Indique qu’aucune authentification n’est terminée. |
Étapes
suivantes