Zdarma převodník

Token JWT Dekodér

Dekódujte záhlaví a obsah JWT (JSON Web Token) okamžitě ve svém prohlížeči. Zdarma, soukromé a na straně klienta – žádná data se neodesílají na žádný server.

O tomto nástroji

JSON Web Tokeny (JWT) jsou kompaktní formát pro přenos nároků mezi dvěma stranami bezpečný pro adresy URL, definovaný v RFC 7519. JWT jsou tři segmenty zakódované pomocí base64url oddělené tečkami: záhlaví (typ algoritmu a tokenu), obsah (nároky) a podpis (kryptografický důkaz pravosti). Záhlaví a obsah jsou JSON, base64url-kódované pro bezpečnost URL; podpis používá jeden z několika algoritmů (HS256, RS256, ES256 a další) přes zakódovanou hlavičku a užitečné zatížení.

Dekódování JWT – jeho rozdělení na segmenty a dekódování každého pomocí base64 – nevyžaduje žádné tajemství. Kdokoli s textem tokenu může číst jeho záhlaví a obsah. Podpis však lze ověřit pouze tajným (HMAC) nebo veřejným klíčem (asymetrický). Dekódování je pro kontrolu; ověření je to, co prokazuje pravost.

Tento dekodér rozdělí token, base64-dekóduje každý segment, analyzuje záhlaví a datovou část jako JSON a zobrazí výsledek. Nepokouší se o ověření podpisu, protože to vyžaduje tajný nebo veřejný klíč, který dekodér nemá. Dekódovaný výstup je inspekce pouze pro čtení – užitečná pro ladění tokenů, ale nenahrazuje řádné ověření v kódu aplikace.

Proč dekódovat JWT

Ladění problémů s autentizací téměř vždy zahrnuje kontrolu tokenů. Token, který v kódu vypadá jako platný, může mít nesprávné nároky, neočekávaný algoritmus, vypršelé časové razítko exspirace nebo nesoulad publika. Dekódování tokenu odhalí přesně to, co emitent vyrobil.

Pomáhá také kontrola tokenů během integračních prací. Při připojování k poskytovateli rozhraní API nebo identity třetí strany lze skutečným názvům, formátům a struktuře deklarací nejlépe porozumět dekódováním ukázkových tokenů, než se spoléhat na dokumentaci, která může být zastaralá.

Jak používat

Vložte token a získejte analyzovaný obsah.

  1. Vložte svůj JWT: Vložte celý token (header.payload.signature) do vstupní oblasti. Dekodér přijímá tokeny s volitelnou předponou Nosič nebo bez ní.
  2. Zkontrolujte hlavičku: V záhlaví je uveden algoritmus podpisu (alg) a typ tokenu (typ). Běžné algoritmy jsou HS256, RS256 a ES256. Watch for alg: none, což signalizuje nepodepsaný token a ve výrobě je jen zřídka bezpečné.
  3. Zkontrolujte užitečné zatížení: Užitná část obsahuje nároky: iss (vydavatel), sub (předmět), aud (publikum), exp (vypršení platnosti), iat (vydáno v) a jakékoli nároky specifické pro aplikaci. Standardní časová razítka jsou sekundy epoch Unix.
  4. Ověřte samostatně: Dekodér neověřuje podpis. Chcete-li zkontrolovat pravost, spusťte token prostřednictvím knihovny JWT s příslušným tajným nebo veřejným klíčem v kódu vaší aplikace.

Běžné případy použití

Technické detaily

Formát JWT jsou tři segmenty spojené tečkami. Každý segment je zakódován pomocí base64url – varianta base64 bezpečná pro adresy URL, která používá - a _ namísto + a /, přičemž odsazení je někdy vynecháno. Dekódování vyžaduje zrušení substitucí bezpečných pro URL, vyplnění segmentu a dekódování base64.

Záhlaví a užitečné zatížení jsou po dekódování JSON. Segment podpisu je binární (nezpracované podpisové bajty) a není čitelný pro člověka; vyžaduje ověřovací klíč, aby byl užitečný.

Běžné nároky definované v RFC 7519: iss (vydavatel), sub (identifikátor předmětu), aud (publikum), exp (vypršení platnosti jako sekundy epochy Unixu), nbf (časové razítko ne před), iat (časové razítko vydáno), jti (jedinečné ID tokenu). Nároky specifické pro aplikaci se mohou objevit s libovolným názvem.

Nejlepší postupy

Často kladené dotazy

Je bezpečné sem vložit můj JWT?
Ano. Dekódování probíhá výhradně ve vašem prohlížeči – token není nikdy odeslán na žádný server. JWT jsou však přihlašovací údaje – nesdílejte je veřejně (na snímcích obrazovky, příspěvcích Stack Overflow atd.), protože mohou poskytnout přístup k vašim účtům.
Ověřuje tento nástroj podpis JWT?
Tento nástroj dekóduje a zobrazí obsah tokenu. Ověření podpisu vyžaduje tajný klíč (HMAC) nebo veřejný klíč (RSA/ECDSA), který by měl zůstat na vašem serveru. Nástroj zobrazuje použitý algoritmus, ale nelze jej ověřit bez klíče.
Co znamenají standardní nároky JWT?
iss = vydavatel, sub = předmět (ID uživatele), exp = doba platnosti (časové razítko Unix), iat = vydáno v, nbf = ne dříve, aud = publikum, jti = ID JWT. Vlastní nároky mohou obsahovat jakákoli data specifická pro aplikaci.
Proč někdo může dekódovat JWT?
JWT jsou kódované, nikoli šifrované. Užitná část je zakódována pomocí Base64URL (nešifrována), takže si ji může přečíst každý. Podpis zabraňuje manipulaci, nikoli čtení. Nikdy neukládejte citlivá data (hesla, SSN) v užitečné zátěži JWT.
Proč u některých tokenů chybí podpis?
Tokeny s alg: žádné nemají žádný podpis. Jsou platnými JWT podle specifikace, ale neposkytují žádné záruky pravosti a neměly by být přijímány do výroby.
Jsou JWT šifrované?
Standardní datové části JWT jsou podepsané, ale nešifrované. JWE (JSON Web Encryption, RFC 7516) je samostatný formát pro šifrované tokeny. Většina JWT ve volné přírodě jsou JWS (pouze podepsané).
Je můj token nahrán na server?
Ne. Dekódování probíhá ve vašem prohlížeči; token neopustí vaše zařízení.
Jak dlouhé jsou obvykle JWT?
Kdekoli od několika stovek do několika tisíc znaků. Délka závisí na počtu a velikosti nároků plus délka podpisu (která závisí na algoritmu).