ID-tokens en claims
Onderzoek de structuur en inhoud van het ID Token, een JSON Web Token (JWT) met identiteitsclaims over de gebruiker.
ID-tokens en claims is een gratis OAuth2 en OpenID Connect diepgaand bekeken-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject OAuth2 en OpenID Connect diepgaand bekeken. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus OAuth2 en OpenID Connect diepgaand bekeken bevat in totaal 4 lessen.
De identiteitstoken onthuld
De ID Token is een belangrijk onderdeel van OpenID Connect (OIDC). Je kunt het zien als een digitale identiteitskaart voor de gebruiker.
Het belangrijkste doel is je applicatie geverifieerde identiteitsinformatie te geven over de eindgebruiker die zojuist is ingelogd. De token vertelt je wie de gebruiker is.
Belangrijk: een ID Token verschilt van een Access Token. Een Access Token is bedoeld voor autorisatie (wat je mag doen), terwijl een ID Token bedoeld is voor authenticatie (wie je bent).
Het geheim van een ID Token: het is een JWT!
Elke ID Token is een JSON Web Token (JWT). JWT's zijn een compacte, URL-veilige manier om claims weer te geven die tussen twee partijen worden verzonden.
Doordat ID Tokens JWT's zijn, hebben ze een specifieke, gestandaardiseerde structuur waarmee informatie veilig en verifieerbaar kan worden uitgewisseld.
Dankzij deze gestandaardiseerde indeling kunnen verschillende systemen identiteitsinformatie eenvoudig begrijpen en verwerken.
Een JWT ontleden
Een JWT bestaat uit drie delen, gescheiden door punten (.):
- Header: Beschrijft het type token en het ondertekeningsalgoritme.
- Payload: Bevat de daadwerkelijke "claims" (identiteitsinformatie).
- Handtekening: Wordt gebruikt om te verifiëren dat er niet met de token is geknoeid.
Zowel de Header als de Payload zijn als Base64Url gecodeerde JSON-objecten. De Signature wordt gemaakt met de gecodeerde Header, Payload en een geheime sleutel.
De Payload: waar claims staan
Voor identiteit is de Payload het belangrijkste deel van de ID Token. Dit is een JSON-object met verschillende verklaringen over de gebruiker en de authenticatiegebeurtenis.
Deze verklaringen worden claims genoemd. Elke claim is een sleutel-waarde-paar, zoals "name": "Jane Doe". Ze geven je applicatie specifieke gegevens over de gebruiker.
Claims zijn gestandaardiseerd door OIDC, maar kunnen ook aangepaste informatie bevatten, afhankelijk van de OpenID-provider (OP).
Vereiste claims: issuer, subject, audience
Bepaalde claims zijn essentieel om een ID Token geldig en bruikbaar te maken:
iss(Issuer): Identificeert de entiteit die de token heeft uitgegeven. Dit is meestal de URL van de OpenID-provider.sub(Subject): Een unieke identificatie voor de eindgebruiker. Dit is meestal een tekenreeks die binnen het systeem van de issuer uniek is voor de gebruiker.aud(Audience): Identificeert de ontvanger(s) waarvoor de JWT bedoeld is. Dit moet declient_idvan je applicatie zijn.
Tijdgebonden identiteit: verloop en uitgiftetijd
ID Tokens bevatten ook belangrijke tijdgerelateerde claims:
exp(Expiration Time): Het tijdstip waarna de ID Token NIET MEER mag worden geaccepteerd. Dit is een Unix-tijdstempel.iat(Issued At Time): Het tijdstip waarop de ID Token is uitgegeven. Ook dit is een Unix-tijdstempel.auth_time(Authentication Time): Het tijdstip waarop de eindgebruiker zich voor het laatst heeft geauthenticeerd. Dit is nuttig voor beleidsregels voor sessiebeheer.
Controleer altijd exp om te controleren of de token nog geldig is!
Nonce: een eenmalige beveiligingscontrole
De claim nonce is een unieke waarde die eenmalig wordt gebruikt. Je clientapplicatie genereert deze waarde en stuurt hem naar de autorisatieserver.
Wanneer de ID Token wordt teruggestuurd, bevat deze dezelfde nonce. Je applicatie controleert vervolgens of de nonce in de token overeenkomt met de waarde die is verzonden.
Dit helpt herhalingsaanvallen te beperken en zorgt ervoor dat de ID Token niet door een kwaadwillende partij is onderschept en opnieuw gebruikt.
Gebruikersprofielen verrijken
Naast de kernclaims bevatten ID Tokens vaak aanvullende gebruikersinformatie, die bekendstaat als "User Profile Claims". Deze worden meestal opgevraagd via scopes.
Veelvoorkomende voorbeelden zijn:
name: De volledige naam van de gebruiker.given_name: De voornaam van de gebruiker.family_name: De achternaam van de gebruiker.email: Het e-mailadres van de gebruiker.picture: Een URL naar de profielfoto van de gebruiker.
Deze claims bieden je applicatie een uitgebreide gegevensset.
De claims van een ID Token decoderen
Wanneer je een ID Token ontvangt en decodeert, kan de payload er ongeveer zo uitzien (vereenvoudigde JSON):
{
"iss": "https://accounts.coddykit.com",
"sub": "user_id_xyz_789",
"aud": "my_mobile_app_123",
"exp": 1678886400,
"iat": 1678882800,
"auth_time": 1678882700,
"nonce": "a1b2c3d4e5",
"name": "Coddy User",
"email": "coddy.user@example.com"
}Elk sleutel-waarde-paar is een specifieke claim die identiteitsgegevens bevat.
Korte controle over claims
Je hebt geleerd over de verschillende claims in een ID Token.
Welke van de volgende claims wordt voornamelijk gebruikt om de ontvanger (je clientapplicatie) te identificeren voor wie de ID Token bedoeld is?
Samenvatting van ID Token en claims
Goed gedaan! Je hebt de kern van OpenID Connect verkend: de ID Token en de bijbehorende claims.
- ID Tokens zijn JWT's die identiteitsgegevens bevatten.
- Ze bevatten een Header, Payload (claims) en Signature.
- Belangrijke claims zoals
iss,sub,aud,exp,iatennoncezijn essentieel. - User Profile Claims zoals
nameenemailverrijken de identiteit.
Vervolgens gaan we dieper in op de verschillende OIDC-flows die deze tokens gebruiken!
Leer OAuth2 en OpenID Connect diepgaand bekeken met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “ID-tokens en claims” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad OAuth2 en OpenID Connect diepgaand bekeken, waaronder “ID-tokens en claims”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus OAuth2 en OpenID Connect diepgaand bekeken bevat in totaal 4 lessen.
Wat leer ik in “ID-tokens en claims”?
Onderzoek de structuur en inhoud van het ID Token, een JSON Web Token (JWT) met identiteitsclaims over de gebruiker. Je oefent met OAuth2 en OpenID Connect diepgaand bekeken door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met OAuth2 en OpenID Connect diepgaand bekeken te beginnen?
Ervaring vooraf is niet nodig. OAuth2 en OpenID Connect diepgaand bekeken op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “ID-tokens en claims”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over OAuth2 en OpenID Connect diepgaand bekeken?
Ja. Elke les over OAuth2 en OpenID Connect diepgaand bekeken bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- OIDC: identiteitslaag boven op OAuth2
- ID-tokens en claims
- Overzicht van OIDC-flows
- Het UserInfo-endpoint