Azure secure token service
Comment utiliser correctement les jetons d’accès et les jetons d’ID dans votre application cliente
Dans ce billet, nous allons explorer les différences entre les différents types de jetons de sécurité fournis par la plateforme d’identités Microsoft. Nous allons comparer les jetons d’accès et les jetons d’identification, en montrant comment et où vous devez les utiliser dans votre application. Nous allons mettre en évidence les raisons pour lesquelles les jetons d’accès doivent être traités comme opaques par les applications clientes et décrire les meilleures pratiques concernant l’utilisation des jetons d’accès, ce qui vous aidera à éviter les pièges courants.
À partir d’octobre 2024, nous avons progressivement activé les jetons d’accès chiffrés pour davantage d’API appartenant à Microsoft. Par conséquent, le format des jetons d’accès pour ces API est en train de changer. Il est important que vous vous assuriez que vos applications respectent les bonnes pratiques lors de la gestion des jetons dans les applications clientes.
Qu’est-ce qu’un jeton d’accès
Lesjetons d’accès sont un type de Jeton de sécurité conçu pour l’autorisation , accordant l’accès à des ressources spécifiques pour le compte d’un utilisateur authentifié. Considérez-les comme des clés qui déverrouillent certaines parties d’une application ou d’un système. Les jetons d’accès contiennent des informations sur l’utilisateur ainsi que des éléments de données individuels, appelés revendications, qui définissent ce que l’utilisateur est autorisé à faire.
Les jetons d’accès permettent aux clients d’accéder en toute sécurité aux API Web protégées. Bien que les applications clientes reçoivent des jetons d’accès, elles doivent être traitées comme des chaînes opaques, ce qui signifie qu’elles ne doivent pas être inspectées ou analysées. Les applications clientes ne doivent pas tenter de valider les jetons d’accès. La seule utilisation du jeton d’accès au sein d’une application cliente est de le passer au serveur de ressources concerné, qui le validera ensuite avant de l’accepter comme preuve d’autorisation, c’est-à-dire que le contenu des jetons d’accès est destiné uniquement à l’API.
Qu’est-ce qu’un jeton d’ID ?
Les jetons d’ID diffèrent des jetons d’accès en ce sens qu’ils servent de preuve d’authentification , confirmant qu’un utilisateur est correctement authentifié. À l’instar des étiquettes nominatives lors d’une conférence, les jetons d’ID permettent à un client de vérifier qu’un utilisateur est bien celui qu’il prétend être. Lorsqu’un utilisateur s’authentifie avec succès, le serveur d’autorisation émet un jeton d’ID qui contient des revendications contenant des informations sur l’utilisateur. Les jetons d’identification peuvent être envoyés à côté ou à la place d’un jeton d’accès et sont toujours au format JWT (JSON Web Token). Ils doivent être utilisés par l’application cliente pour authentifier l’utilisateur et ne jamais être utilisés à des fins d’autorisation. Les revendications fournies par les jetons d’ID peuvent être utilisées pour l’expérience utilisateur au sein de votre application, en tant que clés dans une base de données, affichant des informations de profil utilisateur, et pour fournir un accès aux applications clientes, etc.
Bonnes pratiques pour la gestion des jetons d’accès
Comme mentionné ci-dessus, les jetons d’accès doivent être traitées comme des chaînes opaques par les applications clientes, ce qui signifie qu’elles ne doivent pas tenter de les lire, de les inspecter ou de les analyser. Seules les API web doivent analyser les jetons d’accès (car ce sont elles qui définissent le format et définissent les clés de chiffrement).
Remarque : Ceci est important, car les jetons d’accès peuvent changer de format sans préavis, ce qui peut casser tout code côté client qui s’appuie sur cette structure de jetons.
Exemple : chiffrement des jetons
d’accès De nombreuses API appartenant à Microsoft sont configurées pour recevoir des jetons d’accès chiffrés aujourd’hui. À partir d’octobre 2024, nous avons progressivement activé les jetons d’accès chiffrés pour davantage d’API appartenant à Microsoft. Par conséquent, le format des jetons d’accès pour ces API est en train de changer. Si vous vous êtes appuyé sur la valeur d’une revendication dans un jeton d’accès, cela cessera de fonctionner. Vous devez toujours utiliser le jeton d’ID si client Les applications ont besoin d’apprendre quelque chose sur l’utilisateur.
Un autre exemple de modification du format du jeton d’accès, qui pourrait interrompre votre application si vous vous y fiez à tort, est la modification de la façon dont la valeur d’une revendication est représentée, par exemple en modifiant la revendication « aud » pour utiliser un GUID au lieu de l’URI.
Si votre application cliente analyse actuellement les jetons d’accès, il est important d’examiner et de mettre à jour votre code. Le fait de ne pas les traiter comme des chaînes opaques n’est pas conforme à nos meilleures pratiques actuelles, qui ont été documentées sur le portail de documentation de la plateforme d’identités Microsoft.
Si
votre application suit les meilleures pratiques et traite les jetons d’accès comme des chaînes opaques, aucune action n’est requise.
Toutefois, si votre application cliente analyse actuellement les jetons d’accès émis pour les API Web appartenant à Microsoft, elle peut s’arrêter au démarrage de ces API Web Réception de jetons d’accès chiffrés. Examinez le code de votre application pour vous assurer qu’il n’analyse pas les jetons d’accès destinés aux API Web et qu’il continue de fonctionner correctement après l’entrée en vigueur des modifications.
Pour plus de simplicité, n’oubliez pas d’utiliser le jeton d’ID si les applications clientes ont besoin d’apprendre quelque chose sur l’utilisateur.
Pour obtenir
des conseils plus détaillés, consultez notre documentation sur les bonnes pratiques. Restez informé et assurez-vous que vos applications clientes restent sécurisées et évolutives au fur et à mesure que ces changements importants sont déployés.
Pour en savoir plus ou tester les fonctionnalités du portefeuille Microsoft Entra, visitez notre centre de développement. N’oubliez pas de vous abonner au blog du développeur Identity pour plus d’informations et pour vous tenir au courant des dernières informations sur tout ce qui concerne Identity. Et suivez-nous sur YouTube pour des présentations vidéo, des tutoriels et des plongées profondes.