Jak dekódovat JWT token: co v něm je a jak ho číst
JWT tokeny (JSON Web Tokens) jsou dnes standardem v autentizaci API. Ukládají informace o uživateli a oprávněních, a jsou běžné v moderních aplikacích. Pokud pracujete s vývojem nebo integracemi, určitě je potřebujete umět rychle přečíst. V článku vysvětlíme, co JWT obsahuje a jak ho dekódovat bez ověřování podpisu.
Rychlé dekódování: /tools/jwt-decode/.
Vysvětlení pojmu
JWT se skládá ze tří částí: header, payload a signature. Header určuje algoritmus podpisu, payload obsahuje data (claims) a signature slouží k ověření integrity. Dekódování znamená přečtení headeru a payloadu, bez ověřování podpisu.
Jak to spočítat ručně
JWT je Base64URL kódovaný. Ručně byste museli každou část tokenu dekódovat a převést na JSON. Je to možné, ale nepraktické. Pro bezpečnost je důležité vědět, že dekódování není ověření – data mohou být podvržená, pokud neověříte podpis.
- Rozdělte token podle teček.
- Dekódujte první část (header) a druhou část (payload).
- Výsledek interpretujte jako JSON.
Praktické příklady
Příklad payloadu: {"sub": "123", "role": "admin", "exp": 1700000000}. To znamená, že uživatel má ID 123, roli admin a token expiruje v určitém čase.
Příklad headeru: {"alg": "HS256", "typ": "JWT"} říká, že podpis používá HS256.
Online nástroj
Nástroj /tools/jwt-decode/ dekóduje header i payload během okamžiku a zobrazí JSON přehledně. Pro práci s JSON se vám může hodit i článek o JSON formátování.
Tipy a časté chyby
- Nezáměňujte dekódování s ověřením: token může být změněn.
- Expirace: claim exp je čas v sekundách od epochy.
- Citlivá data: JWT není šifrované, data jsou pouze zakódovaná.
FAQ
Je bezpečné JWT jen dekódovat?
Dekódování je bezpečné pro čtení, ale nevypovídá o pravosti tokenu.
Proč je JWT v Base64?
Aby šel snadno přenášet v HTTP hlavičkách a URL.
Jak zjistím expiraci?
V payloadu hledejte claim exp.
Závěr
JWT token je rychlý způsob přenosu identity a oprávnění. Pro čtení použijte dekódovací nástroj a vždy myslete na ověření podpisu. Další praktické návody najdete v článcích Utilio.