tigtools

Dekodér JWT

Vložte JWT, abyste si přečetli jeho hlavičku a claimy a zjistili, kdy vyprší. Dekódování probíhá ve vašem prohlížeči a neověřuje podpis.

Běží ve vašem prohlížeči Bez registrace

Dekódování není ověření: kdokoli může vytvořit token s libovolným obsahem. Tento nástroj podpis nekontroluje. Běží pouze ve vašem prohlížeči, ale přesto byste neměli vkládat živé produkční tokeny do žádné webové stránky.

Jak používat

  1. Zkopírujte token z hlavičky Authorization, z cookie nebo z vývojářských nástrojů prohlížeče. Úvodní „Bearer “ se odstraní automaticky.
  2. Vložte ho do pole. Hlavička a payload se zobrazí jako formátovaný JSON.
  3. Zkontrolujte stavový řádek a tabulku claimů, kde najdete vydavatele, audience a data vypršení ve vašem místním čase.
  4. Pokud potřebujete hlavičku nebo payload jinde, zkopírujte JSON.

Jak to funguje

JSON Web Token (JWT, RFC 7519) se v běžné podepsané podobě (JWS) skládá ze tří částí kódovaných base64url a oddělených tečkami. Hlavička říká, kterým algoritmem byl token podepsán, například HS256 (HMAC se SHA-256) nebo RS256 (RSA). Datová část obsahuje claimy – tvrzení o uživateli a o tokenu samotném. Podpis umožňuje serveru ověřit, že hlavička a datová část nebyly změněny.

Hlavička a datová část jsou pouze zakódované, ne šifrované. Kdokoli, kdo má token, může číst jeho obsah – přesně to dělá tento nástroj. Do datové části JWT nedávejte tajné údaje.

Samotné dekódování o tokenu nic nedokazuje. Bez klíče vydavatele nelze poznat, zda je podpis pravý, a proto výsledek z tohoto nástroje nikdy nepoužívejte k rozhodnutí, zda tokenu důvěřovat. Ověření patří na váš server, s udržovanou knihovnou pro JWT, která kontroluje podpis, algoritmus, exp, nbf, iss a aud.

Registrované claimy jsou vysvětleny v tabulce. Hodnoty exp, nbf a iat jsou NumericDate: počet sekund od 1. ledna 1970 UTC. Nástroj je převádí na datum ve vašem časovém pásmu a porovnává s hodinami vašeho zařízení, bez malé tolerance, kterou servery často povolují kvůli rozdílům v čase. Pokud máte špatně nastavené hodiny, bude špatně i stav.

Tokeny s pěti částmi jsou šifrované JWT (JWE). Jejich datovou část nelze bez klíče dekódovat, takže nástroj pouze zobrazí formát.

Příklady

Proč moje API vrací 401?

Dekódujte přístupový token, který vaše aplikace odesílá. Pokud stavový řádek říká „Platnost vypršela dne …“, klient musí token obnovit. Pokud je v aud https://api.example.com, ale voláte https://api2.example.com, audience se neshoduje.

Kontrola ID tokenu OpenID Connect

ID token od poskytovatele přihlášení obsahuje iss (poskytovatel), sub (stabilní ID uživatele), aud (vaše ID klienta), iat a exp a profilové claimy, jako je e-mail a jméno. Po dekódování uvidíte, které claimy vaše aplikace skutečně obdrží.

Čtení claimu s časovým razítkem

Payload obsahuje "exp": 1735689600. Tabulka claimů ho zobrazí jako 1. ledna 2025, 00:00:00 UTC, převedeno na váš místní čas, spolu s tím, jak dávno to bylo nebo jak daleko v budoucnosti to je.

Časté dotazy

Ověřuje tento nástroj podpis JWT?

Ne. Pouze dekóduje hlavičku a payload. Ověření vyžaduje tajný klíč (u HS256) nebo veřejný klíč vydavatele (u RS256 a ES256) a mělo by probíhat na vašem serveru s důvěryhodnou knihovnou.

Je bezpečné sem vložit můj token?

Token se dekóduje ve vašem prohlížeči a nikam se neodesílá. Přesto platný token do vypršení funguje jako heslo, proto dávejte přednost prošlým nebo testovacím tokenům a nikdy nevkládejte produkční tokeny do nástrojů, kterým nedůvěřujete.

Proč může kdokoli číst payload?

Podepsané JWT jsou kódované pomocí base64url, což není šifrování. Podpis chrání token před změnami, ne před čtením. Pokud musí být obsah tajný, použijte šifrovaný JWT (JWE) nebo uchovávejte data na serveru.

Co znamená „exp“ a v jaké je jednotce?

exp je čas vypršení jako NumericDate: celé sekundy (nikoli milisekundy) od 1970-01-01 00:00:00 UTC. Token musí být v tomto okamžiku nebo později zamítnut.

Proč se zobrazuje „not valid base64url“?

Token byl pravděpodobně při kopírování oříznut nebo změněn, například ztrátou posledních znaků, uvozovek kolem něj nebo URL kódováním (%2E místo tečky). Vložte nezměněný token přesně tak, jak byl vydán.

Soukromí

Token je dekódován pomocí JavaScriptu ve vašem prohlížeči. Nikam se neodesílá na server, neukládá se a nezahrnuje se do analytik. Neprovádí se ověření podpisu ani vyhledávání klíčů, takže nedochází k žádnému síťovému požadavku.