Starten Site indienen

JWT-decoder

Developer Tools

Plak een JSON Web Token om de header, payload en exacte verlooptijd te lezen, lokaal gedecodeerd zonder het token te versturen.

Plak het volledige token van drie delen, inclusief beide punten.

Resultaat

Status —
  • Verloopt —
  • Algoritme —
  • Tokentype —
  • Payload —
  • Header —

Wijzig een invoer en het resultaat wordt direct bijgewerkt.

Formule en regels

  • Een JWT bevat drie Base64URL-onderdelen, gescheiden door punten: header, payload en signature.
  • Base64URL vervangt + door - en / door _, en laat de =-opvulling weg, zodat tokens werken in URL's en HTTP-headers.
  • De exp-claim is een Unix-tijdstempel in seconden, dus een token is verlopen zodra de huidige tijd dat getal passeert.
  • Decoderen leest alleen de twee JSON-onderdelen; de signature wordt nooit gecontroleerd, die moet de server verifiëren.

Uitgewerkte voorbeelden

Een demo-token decoderen

Invoer Het vooraf ingevulde token, exp = 1700003600.

Resultaat Algoritme HS256, type JWT, vier claims, verloopt op 2023-11-14 23:13:20 UTC.

Een token zonder exp

Invoer Een payload van {"sub":"42","scope":"read"}.

Resultaat De status geeft aan dat het token geen exp-claim heeft, dus het verloopt nooit vanzelf.

Een afgekapt token

Invoer abc.def

Resultaat Een foutmelding legt uit dat een JWT uit drie delen moet bestaan voordat er iets kan worden gedecodeerd.

Veelgestelde vragen

Bewijst decoderen dat het token echt is?

Nee. Iedereen kan een token maken met een payload naar keuze. Alleen een server die de handtekening met de geheime of openbare sleutel verifieert, kan vaststellen of een token door jou is uitgegeven.

Is het veilig om een productietoken te plakken?

Het decoderen gebeurt in je browser, dus het token wordt niet geüpload. Behandel het toch als een wachtwoord: gebruik bij voorkeur een testtoken en vervang alles wat je op een gedeeld scherm plakt.

Waarom is een verse token al verlopen?

Ofwel loopt de klok van de uitgever achter op die van jou, ofwel is een exp-waarde in milliseconden doorgegeven waar seconden worden verwacht. Deze tool leest exp als seconden, conform de JWT-specificatie.

Wat als de header of payload geen JSON is?

De decoder meldt een fout. De JWT-specificatie vereist dat beide delen base64url-gecodeerde JSON-objecten zijn, dus een niet-JSON-deel betekent meestal dat de string helemaal geen JWT is.

Disclaimer: De resultaten volgen de formule op deze pagina en zijn alleen indicatief. Werkelijke hoeveelheden verschillen per materiaal, techniek en omstandigheden; reken een marge voordat je bestelt.