Naar de inhoud
Quaestio

JWT-decoder

Plak een token om te zien wat erin staat en wanneer het verloopt. Heb je de sleutel, dan kun je ook de handtekening controleren.

Het decoderen gebeurt in je browser. Er wordt niets verstuurd.

Geldigheid

…

Gedecodeerd, niet geverifieerd: iedereen kan een token met deze inhoud maken. Voer hieronder de sleutel in om de handtekening te controleren.

Header

{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

{
  "iss": "https://example.com",
  "sub": "1234567890",
  "aud": "quaestio",
  "name": "Ada Lovelace",
  "iat": 1757000000,
  "nbf": 1757000000,
  "exp": 4102444800,
  "jti": "4f1c2a9e"
}

Velden en claims

alghandtekeningalgoritme
HS256
typtokentype
JWT
issuitgever
https://example.com
subonderwerp, meestal de gebruikers-ID
1234567890
auddoelgroep waarvoor het token bedoeld is
quaestio
expvervaltijd
4102444800
nbfniet geldig vóór
1757000000
iatuitgegeven op
1757000000
jtiunieke token-ID
4f1c2a9e
Handtekening
32 bytes

Handtekening controleren

De sleutel wordt alleen in je browser gebruikt en niet opgeslagen.

Insluiten

Deze tool op je eigen site insluiten

Kopieer de code en plak die waar de tool moet verschijnen, bijvoorbeeld in een blogbericht of op een schoolpagina. Het is gratis, het kader heeft geen advertenties en de tool rekent in de browser van de bezoeker.

Zo werkt het

Een JSON Web Token (JWT, RFC 7519) bestaat uit drie delen, gescheiden door punten: header, payload en handtekening. De header en payload zijn JSON, gecodeerd met base64url, een variant van base64 die - en _ gebruikt in plaats van + en / en de opvulling weglaat. Iedereen kan de inhoud lezen; die is niet versleuteld.

De header geeft het algoritme (alg) en vaak het type (typ) en de sleutel-ID (kid). De payload bevat claims, beweringen over de gebruiker of de sessie. De standaard registreert er zeven: iss (uitgever), sub (onderwerp), aud (doelgroep), exp (vervaltijd), nbf (niet vóór), iat (uitgegeven op) en jti (JWT-ID). Alle andere claims bepaalt de uitgever zelf.

De tijden in exp, nbf en iat zijn seconden sinds 1 januari 1970 UTC. Een token mag niet worden geaccepteerd op of na de exp-tijd, en ook niet vóór de nbf-tijd. De decoder vergelijkt ze met de klok van je apparaat, dus een klok die verkeerd staat geeft een verkeerde status.

Decoderen is niet verifiëren. De handtekening laat zien dat het token is uitgegeven door iemand met de sleutel en dat de inhoud niet is gewijzigd, maar dat kan alleen met de sleutel worden gecontroleerd. HS256, HS384 en HS512 gebruiken een gedeeld geheim (HMAC). RS en PS gebruiken RSA, ES elliptische krommen (ECDSA met P-256, P-384 of P-521) en EdDSA Ed25519; die worden gecontroleerd met de publieke sleutel als PEM of JWK, die uitgevers vaak publiceren als JWK Set.

Een token met alg none heeft geen handtekening en mag nooit door een server worden geaccepteerd. Verschillende bekende kwetsbaarheden kwamen van bibliotheken die none accepteerden, of die een aanvaller RS256 lieten vervangen door HS256 en lieten ondertekenen met de publieke sleutel als geheim.

Een token werkt vaak als sleutel tot een account. Hier gebeurt alles in je browser met de ingebouwde cryptografie (WebCrypto), en het token, het geheim en de sleutel worden nergens heen gestuurd. Plak toch nooit een actief token of geheim in een site die je niet vertrouwt, en plak nooit een privésleutel: voor de controle is alleen de publieke nodig.

Bronnen

Zo worden de tools gecontroleerd