tigtools

JWT-avkodare

Klistra in en JWT för att läsa dess header och claims och se när den går ut. Avkodningen sker i din webbläsare och verifierar inte signaturen.

Körs i din webbläsare Ingen registrering

Avkodning är inte verifiering: vem som helst kan skapa en token med valfritt innehåll. Det här verktyget kontrollerar inte signaturen. Det körs endast i din webbläsare, men du bör ändå undvika att klistra in riktiga produktionstoken på någon webbplats.

Så här använder du det

  1. Kopiera en token från en Authorization-header, en cookie eller webbläsarens utvecklarverktyg. Ett inledande ”Bearer ” tas bort automatiskt.
  2. Klistra in den i rutan. Header och payload visas som formaterad JSON.
  3. Kontrollera statusraden och claimstabellen för utfärdare, målgrupp och utgångsdatum i din lokala tid.
  4. Kopiera JSON för header eller payload om du behöver det någon annanstans.

Så fungerar det

En JSON Web Token (JWT, RFC 7519) i sin vanliga signerade form (JWS) består av tre base64url-kodade delar åtskilda av punkter. Huvudet anger vilken algoritm som signerade tokenen, till exempel HS256 (HMAC med SHA-256) eller RS256 (RSA). Payloaden innehåller claims: uppgifter om användaren och själva tokenen. Signaturen låter servern kontrollera att huvudet och payloaden inte har ändrats.

Huvudet och payloaden är endast kodade, inte krypterade. Alla som har en token kan läsa dess innehåll, vilket är precis vad det här verktyget gör. Lägg inte hemligheter i JWT-payloader.

Avkodning bevisar ingenting om en token. Utan utfärdarens nyckel kan ingen avgöra om signaturen är äkta, så resultatet här får aldrig användas för att avgöra om en token går att lita på. Verifiering hör hemma på din server, med ett underhållet JWT-bibliotek som kontrollerar signaturen, algoritmen, exp, nbf, iss och aud.

De registrerade claimarna förklaras i tabellen. exp, nbf och iat är NumericDate-värden: sekunder sedan 1 januari 1970 UTC. Verktyget omvandlar dem till datum i din tidszon och jämför dem med enhetens klocka, utan den lilla marginal som servrar ofta tillåter för klockskillnader. Om din klocka är fel blir statusen också fel.

Tokens med fem delar är krypterade JWT:er (JWE). Deras payload kan inte avkodas utan nyckeln, så verktyget rapporterar bara formatet.

Exempel

Varför returnerar mitt API 401?

Avkoda den åtkomsttoken som din app skickar. Om statusraden säger ”Utgånget den …” behöver klienten förnya tokenen. Om aud visar https://api.example.com men du anropar https://api2.example.com stämmer inte den avsedda mottagaren (audience).

Kontrollera en OpenID Connect-ID-token

En ID-token från en inloggningsleverantör innehåller iss (leverantören), sub (det stabila användar-ID:t), aud (ditt klient-ID), iat och exp, plus profilclaims som e-post och namn. När du avkodar den ser du vilka claims din app faktiskt tar emot.

Läsa en tidsstämpelclaim

En payload innehåller "exp": 1735689600. Claimstabellen visar det som 1 januari 2025, 00:00:00 UTC, omvandlat till din lokala tid, tillsammans med hur länge sedan det var eller hur långt fram i tiden det är.

Vanliga frågor

Verifierar det här verktyget JWT-signaturen?

Nej. Verktyget avkodar bara header och payload. Verifiering kräver hemligheten (för HS256) eller utfärdarens publika nyckel (för RS256 och ES256) och bör göras på din server med ett betrott bibliotek.

Är det säkert att klistra in min token här?

Tokenen avkodas i din webbläsare och skickas inte någonstans. Trots det fungerar en giltig token som ett lösenord tills den går ut, så föredra utgångna eller testtoken och klistra aldrig in produktionstoken i verktyg du inte litar på.

Varför kan vem som helst läsa payloaden?

Signerade JWT:er kodas med base64url, vilket inte är kryptering. Signaturen skyddar tokenen mot ändringar, inte mot läsning. Om innehållet måste vara hemligt använder du en krypterad JWT (JWE) eller behåller data på servern.

Vad betyder ”exp” och i vilken enhet anges det?

exp är utgångstiden som NumericDate: hela sekunder (inte millisekunder) sedan 1970-01-01 00:00:00 UTC. En token måste avvisas vid eller efter den tidpunkten.

Varför får jag ”ogiltig base64url”?

Tokenen blev förmodligen avklippt eller ändrad vid kopieringen, till exempel genom att de sista tecknen, citattecken runt den eller URL-kodning (%2E i stället för en punkt) försvann. Klistra in den råa tokenen exakt som den utfärdades.

Integritet

Tokenen avkodas med JavaScript i din webbläsare. Den skickas inte till någon server, lagras inte och ingår inte i analys. Ingen signaturverifiering eller nyckeluppslagning utförs, så inget nätverksanrop görs.