JWT decoder

Bekijk wat er in een JSON Web Token zit.

Plak een token om het te decoderen.
Header
Payload
Handtekening

Deze tool decodeert tokens maar verifieert nooit handtekeningen. Je token blijft in dit browsertabblad.

Draait in je browser. Niets van wat je typt wordt ergens naartoe gestuurd.

Zo decodeer je een JWT

  1. Plak het token, met of zonder het voorvoegsel Bearer.
  2. Bekijk de header en payload, getoond als opgemaakte JSON.
  3. Controleer de claims-tabel voor issuer, audience en verlooptijd.

De drie delen van een JWT

DeelCoderingBevat
HeaderBase64url JSONOndertekeningsalgoritme (alg) en tokentype (typ)
PayloadBase64url JSONDe claims: de eigenlijke data van het token
HandtekeningBase64url bytesBewijs dat header en payload niet zijn gewijzigd

Veelgebruikte ondertekeningsalgoritmen

alg-waardeTypeOpmerking
HS256Symmetrisch, gedeelde secretGangbaar voor één app die zijn eigen tokens uitgeeft en controleert
RS256Asymmetrisch, RSAGangbaar wanneer een andere partij het token moet verifiëren, zoals bij OAuth
ES256Asymmetrisch, elliptische curveKortere handtekeningen dan RSA bij hetzelfde beveiligingsniveau
noneGeen handtekeningEen verifier hoort dit algoritme altijd te weigeren

Standaardclaims, volgens RFC 7519

  • exp, nbf en iat zijn allemaal NumericDate-waarden: hele seconden sinds de Unix-epoch, nooit milliseconden.
  • aud kan een enkele string zijn of een array van strings, wanneer een token voor meer dan één doelgroep bedoeld is.
  • jti hoort uniek te zijn per token, wat het mogelijk maakt om één specifiek token op een blocklist te zetten.
  • Geen van de standaardclaims is verplicht. Een token kan alleen de eigen claims bevatten die een toepassing zelf definieert.

Veelgestelde vragen over JWT decoder

Wat zijn de drie delen van een JWT?

Een header, een payload en een handtekening, elk base64url-gecodeerd en verbonden met punten. De header noemt het ondertekeningsalgoritme, de payload bevat de claims, en de handtekening laat de server controleren wie het token heeft uitgegeven.

Verifieert deze tool de handtekening?

Nee. Hij decodeert de header en payload en controleert nooit de handtekening. Verifieer tokens op je server met de secret of public key voordat je ze vertrouwt. Het token dat je plakt verlaat nooit je browser.

Is de payload van een JWT versleuteld?

Niet in een normaal ondertekend JWT. Hij is alleen gecodeerd, dus iedereen die het token heeft kan hem lezen. Daarom mogen wachtwoorden en privégegevens er nooit in staan. Versleutelde tokens (JWE) hebben vijf delen en vereisen de sleutel.

Wat betekenen exp, iat en nbf?

Het zijn tijden in seconden sinds 1 januari 1970 (UTC). exp is wanneer het token verloopt, iat is wanneer het is uitgegeven, en nbf is het tijdstip waarvóór het niet geaccepteerd mag worden.

Waarom wordt mijn token als verlopen getoond?

De exp-tijd ligt eerder dan de klok van je apparaat. Access tokens duren vaak maar 5 tot 60 minuten, vraag dus een nieuwe aan en controleer of de klok van je computer goed staat.

Wat definieert RFC 7519?

Het definieert het JWT-formaat zelf: drie met punten verbonden base64url-delen, en de betekenis van standaardclaims zoals iss, sub, exp en aud. Het vereist geen specifiek ondertekeningsalgoritme.

Kan een JWT worden ingetrokken voordat het verloopt?

Niet door het token zelf, aangezien het slechts ondertekende data is. Een token vroegtijdig intrekken vereist ondersteuning aan de serverkant, zoals een blocklist op basis van de jti-claim, of een korte verlooptijd gecombineerd met een apart refresh-token.

Waarom worden exp en iat als grote getallen getoond in plaats van datums?

Ze worden in het token opgeslagen als NumericDate-waarden: hele seconden sinds de Unix-epoch (1 januari 1970 UTC). Deze pagina toont het ruwe getal naast een leesbare datum voor het gemak.

Gerelateerde tools