Hoppa till innehållet
Quaestio

JWT-avkodare

Klistra in en token, så visas innehållet och när den går ut. Har du nyckeln kan du också kontrollera signaturen.

Avkodningen sker i din webbläsare. Inget skickas.

Giltighet

…

Avkodad men inte verifierad: vem som helst kan skapa en token med det här innehållet. Ange nyckeln nedan för att kontrollera signaturen.

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"
}

Fält och claims

algalgoritm för signaturen
HS256
typtyp av token
JWT
issutfärdare
https://example.com
subsubjekt, oftast användarens id
1234567890
audmottagare som token är avsedd för
quaestio
exputgångstid
4102444800
nbfinte giltig före
1757000000
iatutfärdad
1757000000
jtiunikt id för token
4f1c2a9e
Signatur
32 byte

Kontrollera signaturen

Nyckeln används bara i din webbläsare och sparas inte.

Bädda in

Bädda in verktyget på din sajt

Kopiera koden och klistra in den där verktyget ska synas, t.ex. i ett blogginlägg eller på en skolsida. Det är gratis, rutan har inga annonser och verktyget räknar i besökarens webbläsare.

Så fungerar det

En JSON Web Token (JWT, RFC 7519) består av tre delar åtskilda av punkter: header, payload och signatur. Header och payload är JSON som kodats med base64url, en variant av base64 med - och _ i stället för + och / och utan utfyllnad. Vem som helst kan alltså läsa innehållet; det är inte krypterat.

Headern anger bl.a. algoritmen (alg) och ofta typen (typ) och nyckelns id (kid). Payloaden innehåller claims, uppgifter om användaren eller sessionen. Standarden registrerar sju: iss (utfärdare), sub (subjekt), aud (mottagare), exp (utgångstid), nbf (inte giltig före), iat (utfärdad) och jti (id för token). Övriga fält väljer utfärdaren själv.

Tiderna i exp, nbf och iat anges som sekunder sedan 1 januari 1970 i UTC. En token ska inte godtas vid eller efter tiden i exp, och inte före tiden i nbf. Verktyget jämför med klockan i din enhet, så en felställd klocka ger fel status.

Avkodning är inte verifiering. Signaturen visar att token har utfärdats av någon som har nyckeln och att innehållet inte har ändrats, men det går bara att kontrollera med nyckeln. HS256, HS384 och HS512 använder en gemensam hemlighet (HMAC). RS och PS använder RSA, ES använder elliptiska kurvor (ECDSA med P-256, P-384 eller P-521) och EdDSA Ed25519; de kontrolleras med den publika nyckeln som PEM eller JWK, som utfärdaren ofta publicerar som ett JWK Set.

En token med alg none saknar signatur och ska aldrig godtas av en server. Flera kända sårbarheter har handlat om bibliotek som godtog none, eller som lät en angripare byta RS256 mot HS256 och signera med den publika nyckeln som hemlighet.

En token fungerar ofta som nyckel till ett konto. Här sker allt i webbläsaren med dess inbyggda kryptografi (WebCrypto), och varken token, hemlighet eller nyckel skickas någonstans. Klistra ändå aldrig in en giltig token eller hemlighet på en sida du inte litar på, och aldrig en privat nyckel: kontrollen behöver bara den publika.

Källor

Så kontrolleras verktygen