Een JWT-decoder die twee derde van het token leest
Plak het token, lees de claims. De JWT-decoder splitst de string bij de punten, zet de eerste twee delen van Base64URL terug in tekst en toont ze als ingesprongen JSON. Het derde deel, de handtekening, opent hij nooit.
- Plak het token in "Gecodeerd JWT-token". Het veld begint met een ingebouwd voorbeeld: een HS256-token voor een gebruiker genaamd Max Mustermann met de rollen admin en user. "Voorbeeld laden" brengt het terug, "Wissen" maakt het veld leeg.
- Zoek het algoritme en het tokentype in het headerpaneel links.
- Zoek de claims in het payloadpaneel rechts. Beide panelen worden bij elke toetsaanslag bijgewerkt.
- Kijk naar de statusbalk boven de panelen. Die zegt of de exp-datum is verstreken (de handtekening wordt niet gecontroleerd) en toont de vervaldatum in het formaat van je taal.
- Druk op de kopieerknop van een paneel om de opgemaakte JSON op het klembord te zetten.
Waarom een groene status minder bewijst dan het lijkt
De tool controleert de handtekening niet. Hij heeft geen sleutelveld en de code leest het derde deel nooit. De groene status betekent één ding: de exp-claim ligt in de toekomst volgens de klok van je apparaat. Verander de klok en het antwoord verandert. Een vervalst token met een goede exp ziet er precies hetzelfde uit. Om een handtekening te controleren heb je het geheim of de publieke sleutel nodig, en een JWT-bibliotheek op je server.
Claims die worden overgeslagen, invoer die mislukt
Alleen exp wordt getest. De claims nbf en iat verschijnen als ruwe getallen in seconden sinds 1970. Zonder exp toont de tool "Geen einddatum (handtekening niet gecontroleerd)".
Een voorafgaand Bearer wordt niet verwijderd, dus het decoderen mislukt met een Base64-fout. Versleutelde tokens (JWE, vijf delen) mislukken ook, omdat hun payload geen JSON is. Een token met slechts twee delen wordt wel gedecodeerd, omdat de tool alleen de header en de payload nodig heeft.
Twee minuten in een 401
- Je API antwoordt 401 en je vermoedt een oud toegangstoken. Plak het. Zegt de balk verlopen, dan toont de datum hoe lang geleden het afliep.
- Een nieuwe identiteitsprovider: bevat de
roles-array wat je verwacht? - Een mobiele app stuurt een token naar de verkeerde backend. Vergelijk de waarden van
subenexpmet het token dat je wilde sturen.
Wat de pagina met je token doet
Het decoderen draait in JavaScript op je apparaat. Typen of plakken verstuurt geen verzoek en het netwerkpaneel van je ontwikkelaarstools bevestigt dat. De tool slaat het token niet op. Het klembord wordt alleen aangeraakt als je op een kopieerknop drukt.