Jetons d’ID de la plateforme d’identités Microsoft

Le serveur d'autorisation émet des jetons d’ID qui contiennent des revendications avec des informations sur l'utilisateur. Ils peuvent être envoyés en même temps qu’un jeton d’accès ou à la place de celui-ci. Les informations des jetons d'ID permettent au client de vérifier qu'un utilisateur est bien celui qu'il prétend être.

Les applications tierces sont conçues pour comprendre les jetons d’ID. Les jetons d'ID ne doivent pas être utilisés à des fins d'autorisation. Les jetons d'accès sont utilisés pour l'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 au sein d'une base de données, et pour fournir un accès à l'application cliente. Pour plus d’informations sur les revendications utilisées dans un jeton d'ID, consultez la page de référence sur les revendications de jetons. Pour plus d’informations sur l’utilisation sécurisée de l’autorisation basée sur les revendications, consultez Sécuriser des applications et des API par la validation des revendications.

Formats de jetons

Deux versions de jetons d’ID sont disponibles dans la plateforme d’identités Microsoft : v1.0 et v2.0. Ces versions définissent les revendications dans le jeton. Les informations contenues dans les jetons d'ID v1.0 et v2.0 présentent des différences. La version est basée sur le point de terminaison à partir duquel le jeton a été demandé. Les nouvelles applications doivent utiliser la v2.0.

  • v1.0 : https://login.microsoftonline.com/common/oauth2/authorize
  • v2.0 : https://login.microsoftonline.com/common/oauth2/v2.0/authorize

Exemple de jeton d'ID v1.0

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

Afficher cet exemple de jeton v1.0 dans jwt.ms.

Exemple de jeton d'ID v2.0

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

Afficher cet exemple de jeton v2.0 dans jwt.ms.

Durée de vie des jetons

Par défaut, un jeton d'ID est valable pendant une heure. Au bout d'une heure, le client doit en acquérir un nouveau.

Vous pouvez ajuster la durée de vie d'un jeton d'ID pour contrôler la fréquence à laquelle l'application cliente met fin à la session de l'application, ainsi que la fréquence à laquelle elle demande à l'utilisateur de s’authentifier à nouveau de manière silencieuse ou interactive. Pour plus d’informations, consultez Durées de vie des jetons configurables.

Valider les jetons

Pour valider un jeton d’ID, votre client peut vérifier si le jeton a été falsifié. Il peut également vérifier l'émetteur pour s'assurer que celui qui a renvoyé le jeton est le bon. Étant donné que les jetons d'ID sont toujours des jetons JWT, de nombreuses bibliothèques permettent de les valider. Vous devriez utiliser l'une d'entre elles plutôt que de le faire vous-même. Seuls les clients confidentiels doivent valider les jetons d’ID. Pour plus d’informations, consultez Sécuriser les applications et les API par la validation des revendications.

Les applications publiques (dont le code s'exécute entièrement sur un appareil ou un réseau que vous ne contrôlez pas, comme le navigateur ou le réseau domestique d'un utilisateur) ne bénéficient pas de la validation du jeton d'ID. Dans ces circonstances, un utilisateur malveillant peut intercepter et modifier les clés utilisées pour la validation du jeton.

Les revendications JWT suivantes doivent être validées dans le jeton d'ID après avoir validé la signature du jeton. Votre bibliothèque de validation de jetons peut également valider les revendications suivantes :

  • Horodatages : les horodatages iat, nbf et exp doivent tous correspondre à un moment avant ou après l’heure actuelle, selon ce qui convient.
  • Audience : la revendication aud doit correspondre à l’ID de votre application.
  • Valeur à usage unique : la revendication nonce dans la charge utile doit correspondre au paramètre nonce transmis au point de terminaison /authorize lors de la requête initiale.

Voir aussi

Étapes suivantes

  • Examinez le flux OpenID Connect, qui définit les protocoles émettant un jeton d’ID.