JWT dekodér

Rozebere JSON Web Token na hlavičku a obsah, převede časy platnosti na čitelné datum a upozorní na rizikové nastavení. Token neopustí váš prohlížeč.

Jak nástroj použít

  1. Zkopírujte token – například z hlavičky Authorization v nástrojích pro vývojáře v prohlížeči, z logu nebo z konfigurace. Předponu Bearer nemusíte mazat.
  2. Vložte ho do pole a klikněte na Rozebrat token.
  3. Zkontrolujte přehled: algoritmus, stav platnosti a časy vydání a vypršení v UTC i v místním čase.
  4. Projděte upozornění a podle potřeby zkopírujte hlavičku nebo obsah jako formátovaný JSON do tiketu.

Jak to funguje

JWT (JSON Web Token) je krátký textový řetězec, kterým aplikace předávají informace o přihlášeném uživateli – typicky v hlavičce Authorization: Bearer …. Podepsaný token má tři části oddělené tečkou: hlavičku (algoritmus podpisu), obsah (tzv. claims, údaje o uživateli a platnosti) a podpis. První dvě části jsou jen zakódované do base64url, takže je přečte kdokoli.

Nástroj v přehledu vysvětlí registrovaná pole podle RFC 7519:

  • iss – kdo token vydal, sub – koho se týká, aud – pro koho je určen, jti – jedinečné ID tokenu.
  • iat – kdy byl vydán, nbf – od kdy platí, exp – do kdy platí. Časy jsou v sekundách od 1. 1. 1970 UTC; nástroj je převede na datum a porovná s hodinami vašeho počítače.

Upozorní také na nastavení, před kterým varují doporučené postupy RFC 8725:

  • alg „none“ – token není podepsaný a kdokoli ho může změnit. Aplikace ho nesmí přijmout.
  • Chybějící podpis u tokenu, který tvrdí, že podepsaný je.
  • HMAC (HS256/384/512) – bezpečné jen s dlouhým náhodným klíčem, ne s heslem.
  • Klíč v hlavičce (jwk) nebo odkaz na klíč (jku, x5u) – aplikace musí používat jen klíče, kterým sama důvěřuje.
  • Chybějící nebo velmi dlouhá platnost – uniklý token se pak dá zneužít dlouho.

Nástroj podpis neověřuje. Hodí se k ladění přihlašování, k analýze tokenu nalezeného v logu nebo při incidentu ke zjištění, komu a na jak dlouho byl token vydán.

Časté otázky

Odesílá se token někam?

Ne. Rozbor dělá skript přímo ve vašem prohlížeči a nic se neodesílá na server ani neukládá. Platný token je ale přihlašovací údaj – nevkládejte ho do nástrojů, kterým nevěříte, a nesdílejte ho v tiketech ani chatu.

Ověřuje nástroj podpis?

Ne. K ověření je potřeba tajný nebo veřejný klíč vydavatele. Nástroj jen ukáže, co v tokenu je. Že obsah dává smysl, neznamená, že je token pravý – to musí ověřit aplikace.

Je obsah tokenu tajný?

Běžný podepsaný JWT (tři části oddělené tečkou) šifrovaný není – obsah je jen zakódovaný a přečte ho každý, kdo token má. Proto do něj nepatří hesla ani citlivé osobní údaje. Šifrovaný token (JWE) má pět částí a bez klíče z něj nástroj ukáže jen hlavičku.

Proč nástroj varuje u HS256?

HS256 podepisuje sdíleným tajným klíčem. Pokud je klíčem slabé heslo, útočník ho z jediného uniklého tokenu uhodne hrubou silou a pak si může vyrobit libovolný token. Samo použití HS256 chyba není, jde o připomenutí.

Zdroje

  1. RFC 7519 – JSON Web Token (JWT)
  2. RFC 8725 – JSON Web Token Best Current Practices
  3. RFC 7515 – JSON Web Signature (JWS)

Pomohl vám tento nástroj?

Chybí vám něco nebo jste našli chybu? Napište nám.

Aktualizováno