JWT Decoder: bekijk header, payload en vervaldatum
Decodeer direct JSON Web Tokens (JWT). Bekijk header en payload veilig in uw browser.
Handtekening
Handtekeningverificatie vereist een geheime sleutel.
Hoe deze JWT decoder een token leest
Een JSON Web Token bundelt drie onderdelen in één string: een header, een payload en een handtekening. Deze decoder splitst een gecodeerd token op in die drie delen, zet de header en payload terug om naar leesbare JSON, en haalt het algoritme, de uitgiftedatum en de vervaldatum eruit, zodat je een token kunt bekijken zonder code te schrijven.
Header, payload en handtekening
Een token wordt door twee punten in drie delen gesplitst: header.payload.handtekening. De eerste twee delen zijn base64url-gecodeerde JSON, dus decoderen is omkeerbaar en geen versleuteling. De header vermeldt het ondertekeningsalgoritme, het alg-veld, bijvoorbeeld HS256 of RS256, en het tokentype. De payload bevat de claims: een subject-id, eigen velden, en meestal iat (uitgiftetijdstip) en exp (vervaltijdstip), opgeslagen als Unix-seconden. De handtekening is een cryptografische waarde berekend uit header en payload; controleren vereist de geheime of privésleutel waarmee die is gemaakt, dus de inhoud van een token lezen is iets anders dan de echtheid ervan controleren. Sommige tokens worden ondertekend met alg op none en bestaan uit maar twee delen, header.payload; de decoder accepteert die kortere vorm ook en laat het handtekeningveld leeg. Base64url verschilt van gewoon base64 doordat het een streepje en een underscore gebruikt in plaats van een plus en een schuine streep, en meestal zonder het is-gelijk-teken als opvulling werkt.
Uitgewerkt voorbeeld
Plak een token zoals hieronder en het valt uiteen in drie gekleurde segmenten, waarna header en payload als opgemaakte JSON verschijnen.
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI4MjkzODQ3NTYxIiwibmFtZSI6IlNhbm5lIGRlIFZyaWVzIiwiaWF0IjoxNzE3MzI5NjAwLCJleHAiOjE3MjUxOTIwMDB9.v5m3va0axvkqeWYeYyQi_Zg-V2M
{
"alg": "HS256",
"typ": "JWT"
}
{
"sub": "8293847561",
"name": "Sanne de Vries",
"iat": 1717329600,
"exp": 1725192000
}
Het Algorithm-label toont HS256, gelezen uit de header. De iat-waarde komt overeen met 2 juni 2024 en de exp-waarde met 1 september 2024; omdat die datum al voorbij is, toont het Status-label EXPIRED. Niets hiervan gebeurt op een server: het decoderen draait in de browser, en de tool controleert nooit of de handtekening echt is, omdat hij geen toegang heeft tot de sleutel waarmee die is gemaakt.