ID-tokens in het Microsoft Identity Platform

De autorisatieserver geeft id-tokens uit die claims bevatten die informatie over de gebruiker bevatten. Ze kunnen naast of in plaats van een toegangstoken worden verzonden. Met informatie in id-tokens kan de client controleren of een gebruiker is wie hij of zij beweert te zijn.

Toepassingen van derden zijn bedoeld om id-tokens te begrijpen. Id-tokens mogen niet worden gebruikt voor autorisatiedoeleinden. Toegangstokens worden gebruikt voor autorisatie. De claims die door id-tokens worden geleverd, kunnen worden gebruikt voor UX in uw toepassing, als sleutels in een database en toegang bieden tot de clienttoepassing. Zie de naslaginformatie over id-tokenclaims voor meer informatie over de claims die worden gebruikt in een id-token. Zie Beveiligde toepassingen en API's voor meer informatie over autorisatie op basis van claims door claims te valideren.

Tokenindelingen

Er zijn twee versies van id-tokens beschikbaar in het Microsoft Identity Platform: v1.0 en v2.0. Deze versies bepalen de claims die zich in het token bevinden. De v1.0- en v2.0-id-tokens hebben verschillen in de informatie die ze bevatten. De versie is gebaseerd op het eindpunt van waaruit het is aangevraagd. Nieuwe toepassingen moeten gebruikmaken van v2.0.

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

Voorbeeld van een v1.0 ID-token

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

Bekijk dit v1.0-voorbeeldtoken in jwt.ms.

Voorbeeld van een v2.0 ID-token

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

Bekijk dit v2.0-voorbeeldtoken in jwt.ms.

Levensduur van token

Standaard is een id-token één uur geldig. Na één uur moet de client een nieuw id-token verkrijgen.

U kunt de levensduur van een ID-token aanpassen om te bepalen hoe vaak de clienttoepassing de toepassingssessie verloopt en hoe vaak de gebruiker moet worden geverifieerd op de achtergrond of interactief. Lees configureerbare tokenlevensduur voor meer informatie.

Tokens valideren

Als u een id-token wilt valideren, kan uw client controleren of er met het token is geknoeid. Het kan ook de verlener valideren om ervoor te zorgen dat de juiste verlener het token heeft teruggestuurd. Omdat id-tokens altijd een JWT-token zijn, bestaan er veel bibliotheken om deze tokens te valideren. U moet een van deze bibliotheken gebruiken in plaats van dit zelf te doen. Alleen vertrouwelijke clients moeten id-tokens valideren. Zie Beveiligde toepassingen en API's voor meer informatie door claims te valideren.

Openbare toepassingen (code die volledig wordt uitgevoerd op een apparaat of netwerk dat u niet bepaalt, zoals de browser of het thuisnetwerk van een gebruiker), profiteert niet van het valideren van het id-token. In dit geval kan een kwaadwillende gebruiker de sleutels onderscheppen en bewerken die worden gebruikt voor validatie van het token.

De volgende JWT-claims moeten worden gevalideerd in het id-token na het valideren van de handtekening op het token. Uw tokenvalidatiebibliotheek kan ook de volgende claims valideren:

  • Tijdstempels: de iat, nbfen exp tijdstempels moeten allemaal vóór of na de huidige tijd vallen, indien van toepassing.
  • Doelgroep: de aud claim moet overeenkomen met de app-id voor uw toepassing.
  • Nonce: de nonce claim in de nettolading moet overeenkomen met de niet-ceparameter die tijdens de eerste aanvraag aan het /authorize eindpunt is doorgegeven.

Zie ook

Volgende stappen