JWT-debugger / -avkodare

Klistra in valfri JWT för att avkoda dess tre punktseparerade delar — base64url-headern, payloaden och signaturen visas som snyggt formaterad JSON med registrerade claims (exp, iat, nbf och vänner) omvandlade till lokal tid. Därefter kan signaturen verifieras med WebCrypto-API:et: HMAC (HS256/384/512) med en hemlighet, eller RSA/ECDSA (RS256/384/512, ES256/384/512) med en PEM-publik nyckel, och en exempel-HS256-token finns ett klick bort för experiment. Allt körs lokalt — token, hemligheter och nycklar skickas aldrig någonstans.
JWT-token Format: header.payload.signature (tre base64url-segment).
Varning: den här token deklarerar alg:none, vilket betyder att den inte är signerad. Riktiga tjänster måste avvisa osignerade token — betrakta den som ej betrodd.
ClaimVärdeTolkning
Hemlighet
crypto.subtle är inte tillgänglig i det här sammanhanget, så signaturverifiering är inaktiverad. Öppna sidan över https: eller som en lokal fil för att aktivera den. Avkodning fungerar fortfarande.
Så läser man resultatet: headern innehåller vanligtvis alg (signeringsalgoritmen) och typ. Registrerade claims som visas med lokal tid är iat (utfärdad vid), nbf (inte före) och exp (utgångstid) — en röd etikett betyder att token har gått ut, gul betyder att den går ut inom 24 timmar. Signaturverifieringen beräknar samma MAC som utfärdaren skulle göra, eller kontrollerar den RSA/ECDSA-publika nyckel som klistrats in, och markerar sedan token som GILTIG eller OGILTIG. Endast algoritmer som webbläsarens WebCrypto-lager implementerar kan verifieras; allt annat rapporteras som ej stött i stället för att gissas.

Vanliga registrerade claims: sub (subjekt) är användaren eller enheten som token gäller — i exemplet är det bara ett numeriskt ID, men tjänster lägger ofta in en e-postadress, ett användarnamn eller ett UUID här. iss anger utfärdaren, aud anger den avsedda mottagaren och jti är ett unikt token-ID som används för att förhindra återuppspelning. Dessa claims är inte krypterade; vem som helst med token kan läsa dem, så lägg aldrig lösenord eller hemligheter i en JWT-payload.

Integritet: avkodning och verifiering sker helt på den här sidan med WebCrypto-API:et — token, hemligheten och eventuella publika nycklar skickas aldrig. För en alg:none-token visar sidan en tydlig varning: osignerade token ska aldrig accepteras av ett riktigt API.