JWT
JWT-avkodare
Avkoda header och payload för en JSON Web Token.
Om JWT
En JSON Web Token packar en header, en payload och en signatur i tre punktseparerade Base64URL-kodade segment. Headern och payloaden är bara kodad JSON som vem som helst kan läsa, medan signaturen är det som faktiskt bevisar att token inte har manipulerats.
Fältet alg i huvudet anger signeringsalgoritmen, men eftersom huvudet bara är avkodad, overifierad JSON kan en klient inte lita på att det säger något sant — en känd klass av JWT-sårbarheter går ut på att en angripare ändrar alg till "none" och tar bort signaturen, i hopp om att en oaktsam verifierare accepterar en osignerad token. Riktig verifiering måste kontrollera signaturen mot en specifik algoritm och nyckel som den verifierande servern själv har valt, aldrig en som läses från token. Payloadens claims exp och iat är Unix-tidsstämplar (sekunder sedan epoch, inte millisekunder) — kombinera det här verktyget med Tidsstämpelomvandlaren för att läsa dem som kalenderdatum.
Var du stöter på det
- Granska en access- eller ID-token utfärdad av en OAuth- eller OIDC-leverantör
- Felsöka varför en token saknar ett förväntat claim
- Kontrollera en tokens utgångsdatum eller utfärdare utan att skriva kod
- Förstå vad ett tredjeparts-API eller bibliotek faktiskt lägger i sina token
Vanliga frågor
Verifierar avkodning signaturen?
Nej — detta avkodar bara headern och payloaden så att du kan läsa dem. Signaturen kontrolleras inte, så en avkodad token är inget bevis på att den är äkta eller inte har gått ut.
Kan jag lita på claims i en token jag inte har verifierat?
Inte för säkerhetsbeslut. Vem som helst kan skapa en JWT med godtyckliga claims; bara en signatur som verifierats mot utfärdarens nyckel gör innehållet pålitligt.
Sparas token jag klistrar in här?
Nej. Avkodningen sker helt och hållet för den begäran; inget loggas eller sparas.
Kan man lita på huvudets alg-fält?
Inte ensamt. Huvudet är overifierad JSON som en angripare kan kontrollera, ur perspektivet för den som läser en rå token — en känd JWT-attack sätter alg till "none" och tar bort signaturen helt, i hopp om att en verifierare som blint litar på huvudet accepterar den som giltig. Korrekt verifieringskod fastställer i förväg vilken algoritm och nyckel den förväntar sig och tar aldrig det beslutet från token själv. Det här verktyget avkodar bara för läsning; det fattar inga förtroendebeslut alls.