Klíčové poznatky
- 01Dekóduj libovolný JWT a inspektuj hlavičku, datovou zátěž a standardní nároky v jednom vložení.
- 02Nároky exp, nbf a iat se převedou na čitelné časy s tagem platný/vypršený.
- 03Dekódování je čistě lokální – bezpečné pro vkládání skutečných produkčních tokenů během ladění.
- 04Dekodér neověřuje podpisy – to se musí stát na straně serveru pomocí klíče vydavatele.
Proč potřebuješ dekodér JWT
JSON Web Tokeny vypadají jako náhodný hlas, dokud nevíš, že jsou tři segmenty Base64URL oddělené tečkami. První segment je hlavička (algoritmus a typ tokenu), druhá je datová zátěž (nároky: ID uživatele, role, vypršení) a třetí je podpis. Když ladiš problém s ověřením, vypršenou relaci nebo zlomený integrace OAuth, první věc, kterou musíš udělat, je přečíst datovou zátěž.
Dělání toho ručně znamená rozdělení na tečky, dekódování Base64URL a následně převedení Unix časových razítek na čitelné data. Dekodér JWT od Handytoolu to všechno dělá automaticky a přidává značky platnosti do časových nároků, takže vidíš na první pohled, zda je token stále aktivní.
Jak dekódovat token JWT
- 01
Zkopíruj JWT
Vezmi token z DevTools prohlížeče (Aplikace > Cookies nebo panel Síť v hlavičce Authorization), z logu nebo z tvého klienta API.
- 02
Vlož jej do dekodéru
Vlož úplný token – včetně všech tří segmentů oddělených tečkami – do vstupního pole. Dekodér identifikuje segmenty automaticky.
- 03
Přečti si hlavičku a datovou zátěž
Nástroj rozdělí token a hezky vytiskne hlavičku (algoritmus, typ) a datovou zátěž (všechny nároky) jako formátovaný JSON.
- 04
Zkontroluj časy nároků
Unix časové razítka exp (vypršení), nbf (nikoli-dříve) a iat (vydáno-na) se převedou na ISO data. Dekodér označuje exp jako zelené (platné) nebo červené (vypršené) relativně k tvému aktuálnímu místnímu času.
Vysvětlené standardní JWT nároky
Tyto registrované názvy nároků se objevují ve většině JWT.
- 01iss (Vydavatel) – identifikuje, kdo token vytvořil, obvykle URL nebo jméno služby.
- 02sub (Předmět) – objekt, který token představuje, obvykle ID uživatele.
- 03aud (Cílová skupina) – zamýšlený příjemce tokenů; tvůj server by měl odmítnout tokeny určené ostatním.
- 04exp (Vypršení) – Unix časové razítko, po kterém musí být token odmítnut.
- 05nbf (Nikoli-Dříve) – Unix časové razítko, před kterým musí být token odmítnut.
- 06iat (Vydáno-Na) – Unix časové razítko, kdy byl token vytvořen; užitečné pro detekci zastaralých tokenů.
Bezpečné vkládání skutečných tokenů během ladění
Dekódování JWT se uskutečňuje zcela v tvém prohlížeči pomocí nativní funkce atob a JSON.parse. Nic se neposílá na server – tvůj token se dekóduje v paměti a zobrazí se lokálně. Můžeš bezpečně vkládat skutečné přístupové tokeny a tokeny relace z vývojových nebo pracovních prostředí k ladění toků ověřování.
To znamená, že s JWT zacházej jako s hesly. Dělí přístup do tvých systémů po dobu jejich plné životnosti. Nevkládej produkční tokeny od vysokoprávnivých účtů do jakéhokoli nástroje, pokud si nejsi jistý zárukách soukromí nástroje – a vždy si token pokud věříš, že mohl být vystavě.
FAQ dekodéru JWT
Co je JWT?
JSON Web Token je kompaktní, URL-bezpečný formát skládající se ze tří segmentů Base64URL (hlavička, datová zátěž, podpis) oddělených tečkami. JWT obsahují nároky – tvrzení o uživateli nebo relaci – a používají se pro ověřování, autorizaci a přístup API.
Ověřuje tento dekodér podpis JWT?
Ne. Dekodér pouze parsuje hlavičku a datovou zátěž. Ověření podpisu vyžaduje klíč vydavatele nebo veřejný klíč a musí se stát v kódu aplikace pomocí důvěryhodné knihovny.
Je bezpečné vkládat skutečný přístupový token sem?
Dekódování je zcela lokální – token se nikdy nepřenáší. Ale JWT dělí skutečný přístup, tak s ním zacházej jako s heslem. Nesdílej je, nekomituj je do zdrojového kódu a pokud je to nezbytné, otáčej je, pokud mohou být vystaveni.
Co znamená nárokem exp?
exp je časové razítko vypršení – Unix integer reprezentující moment, kdy token přestane být platný. Dekodér jej převádí na čitelné ISO datum a označuje jej platný nebo vypršený relativně k tvému aktuálnímu místnímu času.
Proč je datová zátěž JWT viditelná bez klíče?
Datové zátěže JWT jsou Base64URL-kódovány, ne šifrované. Jsou navrženy tak, aby byly čitelné – podpis pouze prokazuje autentičnost, ne důvěrnost. Nikdy neukládej skutečně tajné data do datové zátěže JWT, pokud nepoužíváš JSON Web Encryption (JWE).
Je dekodér zdarma?
Ano. Handytool je zdarma bez registrace, bez limitů na sazby a bez sběru dat.