JWT
JWT dekodér
Dekódujte hlavičku a payload JSON Web Tokenu.
O JWT
JSON Web Token balí hlavičku, payload a podpis do tří tečkami oddělených segmentů kódovaných v Base64URL. Hlavička a payload jsou jen kódovaný JSON, který si může přečíst kdokoli, zatímco podpis je to, co skutečně dokazuje, že token nebyl pozměněn.
Pole alg v hlavičce udává podpisový algoritmus, ale protože hlavička je jen dekódovaný, neověřený JSON, klient jí nemůže věřit, že říká něco pravdivého — známá třída zranitelností JWT spočívá v tom, že útočník změní alg na „none“ a odstraní podpis v naději, že nedbalý ověřovatel přijme nepodepsaný token. Skutečné ověření musí zkontrolovat podpis vůči konkrétnímu algoritmu a klíči, které si zvolil samotný ověřující server, nikdy vůči těm, které se přečtou z tokenu. Nároky (claims) exp a iat v datové části jsou unixové časové značky (sekundy od epochy, ne milisekundy) — pro jejich čtení jako kalendářních dat zkombinujte tento nástroj s Převodníkem časových značek.
Kde se s tím setkáte
- Prohlížení přístupového nebo identitního tokenu vydaného poskytovatelem OAuth nebo OIDC
- Debugování důvodu, proč v tokenu chybí očekávaný claim
- Kontrola expirace nebo vydavatele tokenu bez psaní kódu
- Pochopení, co si externí API nebo knihovna do svých tokenů skutečně vkládá
Často kladené otázky
Ověřuje dekódování podpis?
Ne — toto pouze dekóduje hlavičku a payload, abyste si je mohli přečíst. Podpis se nekontroluje, takže dekódovaný token není důkazem, že je pravý nebo neexpirovaný.
Mohu důvěřovat claimům v tokenu, který jsem neověřil?
Ne pro bezpečnostní rozhodnutí. Kdokoli může vytvořit JWT s libovolnými claimy; důvěryhodný obsah zaručí jen podpis ověřený proti klíči vydavatele.
Ukládá se token, který sem vložím?
Ne. Dekódování probíhá zcela jen pro tento jeden požadavek; nic se nezaznamenává ani neuchovává.
Dá se poli alg v hlavičce věřit?
Ne samo o sobě. Z pohledu kohokoli, kdo čte surový token, je hlavička neověřený JSON, který může útočník ovlivnit — známý útok na JWT nastaví alg na „none“ a podpis zcela odstraní v naději, že ověřovatel slepě důvěřující hlavičce jej přijme jako platný. Správný ověřovací kód má napevno stanoveno, jaký algoritmus a klíč očekává, a toto rozhodnutí nikdy nepřebírá ze samotného tokenu. Tento nástroj pouze dekóduje pro čtení; žádná rozhodnutí o důvěře nedělá vůbec.