Azure retrieve security tokens
Vue d’ensemble des jetons et des revendications
Un fournisseur d’identité centralisé est particulièrement utile pour les applications dont les utilisateurs du monde entier ne se connectent pas nécessairement à partir du réseau de l’entreprise. La plateforme d’identités Microsoft authentifie les utilisateurs et fournit des jetons de sécurité, tels que des jetons d’accès, des jetons d’actualisation et des jetons d’ID. Les jetons de sécurité permettent à une application cliente d’accéder à des ressources protégées sur un serveur de ressources.
- Jeton d’accès : un jeton d’accès est un jeton de sécurité émis par un serveur d’autorisation dans le cadre d’un flux OAuth 2.0. Il contient des informations sur l’utilisateur et la ressource à laquelle le jeton est destiné. Les informations peuvent être utilisées pour accéder aux API Web et à d’autres ressources protégées. Les ressources valident les jetons d’accès pour accorder l’accès à une application cliente. Pour plus d’informations, consultez Jetons d’accès dans la plateforme d’identités Microsoft.
- Jeton d’actualisation : étant donné que les jetons d’accès ne sont valides que pour une courte période, les serveurs d’autorisation émettent parfois un jeton d’actualisation en même temps que le jeton d’accès. L’application cliente peut ensuite échanger ce jeton d’actualisation contre un nouveau jeton d’accès si nécessaire. Pour plus d’informations, consultez Actualiser les jetons dans la plateforme d’identités Microsoft.
- Jeton d’ID : les jetons d’ID sont envoyés à l’application cliente dans le cadre d’un flux OpenID Connect. Ils peuvent être envoyés avec ou à la place d’un jeton d’accès. Les jetons d’ID sont utilisés par le client pour authentifier l’utilisateur. Pour en savoir plus sur la façon dont la plateforme d’identités Microsoft émet des jetons d’ID, consultez Jetons d’ID dans la plateforme d’identités Microsoft.
De nombreuses applications d’entreprise utilisent SAML pour authentifier les utilisateurs. Pour plus d’informations sur les assertions SAML, consultez Référence du jeton SAML.
Valider les
jetons C’est à l’application pour laquelle le jeton a été généré, à l’application web qui s’est connectée à l’utilisateur ou à l’API web appelée de valider le jeton. Le serveur d’autorisation signe le jeton avec une clé privée. Le serveur d’autorisation publie la clé publique correspondante. Pour valider un jeton, l’application vérifie la signature à l’aide de la clé publique du serveur d’autorisation pour confirmer que la signature a été créée à l’aide de la clé privée. Pour plus d’informations, consultez l’article Sécuriser les applications et les API en validant les revendications .
Nous vous recommandons d’utiliser les bibliothèques d’authentification Microsoft (MSAL) prises en charge dans la mesure du possible. Cela met en œuvre l’acquisition, l’actualisation et la validation des jetons pour vous. Il met également en œuvre la découverte conforme aux normes des paramètres et des clés du locataire à l’aide du document de découverte bien connu OpenID du locataire. MSAL prend en charge de nombreuses architectures et plates-formes d’applications différentes y compris.
Les jetons ne sont valides que pour une durée limitée, de sorte que le serveur d’autorisation fournit souvent une paire de jetons. Un jeton d’accès est fourni, qui accède à l’application ou à la ressource protégée. Un jeton d’actualisation est fourni, qui est utilisé pour actualiser le jeton d’accès lorsque le jeton d’accès est sur le point d’expirer.
Les jetons d’accès sont transmis à une API web en tant que jeton porteur dans l’en-tête. Une application peut fournir un jeton d’actualisation au serveur d’autorisation. Si l’accès de l’utilisateur à l’application n’a pas été révoqué, il reçoit un nouveau jeton d’accès et un nouveau jeton d’actualisation. Lorsque le serveur d’autorisation reçoit le jeton d’actualisation, il émet un autre jeton d’accès uniquement si l’utilisateur est toujours autorisé.
Jetons Web JSON et revendications
La plateforme d’identités Microsoft implémente des jetons de sécurité sous forme de jetons Web JSON (JWT) qui contiennent des revendications . Étant donné que les JWT sont utilisés comme jetons de sécurité, cette forme d’authentification est parfois appelée authentification JWT .
Une revendication fournit des assertions sur une entité, telle qu’une application cliente ou un propriétaire de ressource, à une autre entité, telle qu’un serveur de ressources. Une revendication peut également être appelée revendication JWT ou revendication JSON Web Token.
Les revendications sont des paires de noms ou de valeurs qui relaient des faits sur le sujet du jeton. Par exemple, une revendication peut contenir des faits sur l’entité de sécurité authentifiée par le serveur d’autorisation. Les revendications présentes dans un jeton spécifique dépendent de nombreux facteurs, tels que le type de jeton, le type d’informations d’identification utilisé pour authentifier le sujet et la configuration de l’application.
Les applications peuvent utiliser des revendications pour les différentes tâches suivantes :
- Valider le jeton Identifier
- le locataire du sujet du jeton
- Afficher les informations sur l’utilisateur
- Déterminer le Autorisation du sujet
Une revendication se compose de paires clé-valeur qui fournissent les types d’informations suivants :
- Serveur de jeton de sécurité qui a généré le jeton
- Date à laquelle le jeton a été généré
- Objet (comme l’utilisateur, mais pas les démons)
- Audience, qui est l’application pour laquelle le jeton a été généré
- Application (le client) qui a demandé le jeton
Points de terminaison et émetteurs de jetons
Microsoft Entra ID prend en charge deux configurations de locataire : une configuration de personnel destinée à un usage interne et gérant les employés et les invités professionnels, et une configuration client optimisée pour isoler les consommateurs et les partenaires dans un annuaire externe restreint. Alors que le service d’identité sous-jacent est identique pour les deux configurations de locataire, les domaines de connexion et l’autorité émettrice de jeton pour les locataires est différent. Cela permet aux applications de séparer les flux de travail de main-d’œuvre et d’ID externe si nécessaire.
Les locataires Microsoft Entra workforce s’authentifient au login.microsoftonline.com avec des jetons émis par sts.windows.net . Les jetons de locataire de Workforce sont généralement interchangeables entre les locataires et les applications multilocataires, tant que les relations d’approbation sous-jacentes permettent cette interopérabilité. Les locataires externes Microsoft Entra utilisent des points de terminaison hébergés au format {tenantname}.ciamlogin.com . Les applications inscrites auprès de locataires externes doivent être conscientes de cette séparation pour recevoir et valider correctement les jetons.
Chaque locataire Microsoft Entra publie des métadonnées connues et conformes aux normes. Ce document contient des informations sur le nom de l’émetteur, les points de terminaison d’authentification et d’autorisation, les étendues prises en charge et les revendications. Pour les locataires externes, le document est public Disponible à l’adresse : https://{tenantname}.ciamlogin.com/{tenantid}/v2.0/.well-known/openid-configuration . Ce point de terminaison renvoie une valeur d’émetteur https://{tenantid}.ciamlogin.com/{tenantid}/v2.0 .
Flux d’autorisation et codes d’authentification
Selon la façon dont votre client est créé, il peut utiliser un ou plusieurs des flux d’authentification pris en charge par la plateforme d’identités Microsoft. Les flux pris en charge peuvent produire différents jetons et codes d’autorisation et nécessiter différents jetons pour les faire fonctionner. Le tableau suivant en donne une vue d’ensemble.