Skip to main content
Calkulon

Praktické

JWT Decoder & Expiry Calculator

Dekodér JWT a kalkulačka expirace

JWT Token (vložit celý token)

What is JWT Decoder & Expiry Calculator?

▾

JWT Decoder & Expiry Calculator analyzuje webové tokeny JSON (JWT, definované v RFC 7519) – standardní formát tokenu pro bezstavovou autentizaci v moderních webových rozhraních API. Dekóduje hlavičku a užitečné zatížení zakódované v base64url, analyzuje požadavky JSON a analyzuje požadavky založené na čase včetně vypršení platnosti (exp), vydaného v (iat), ne před (nbf), předmětu (sub), vydavatele (iss) a publika (aud). JWT používají poskytovatelé OAuth2/OIDC (Auth0, Okta, AWS Cognito, Clerk, Firebase Auth, Supabase) a nejmodernější systémy relace. JWT se skládá ze tří segmentů zakódovaných pomocí base64url oddělených tečkami: header.payload.signature. Hlavička deklaruje podpisový algoritmus (běžné jsou HS256, RS256, ES256). Užitná zátěž obsahuje „nároky“ – jak standardní nároky (sub, exp, iat, nbf, iss, aud, jti), tak vlastní data specifická pro aplikaci. Podpis kryptograficky váže záhlaví a datovou část pomocí tajného klíče HMAC (HS256) nebo asymetrického páru klíčů (RS256/ES256). Dekodér zobrazuje obsah záhlaví a datové části, ale NEOVĚŘUJE podpis – to vyžaduje tajný nebo veřejný klíč a mělo by to být vždy provedeno na straně serveru, než začnete důvěřovat jakémukoli JWT. Pochopení struktury JWT je zásadní pro ladění problémů s autentizací, pochopení toho, jaké datové toky mezi klientem a serverem procházejí, a pro ověření, že jsou tokeny správně vytvořeny. Běžné scénáře ladění: 'Proč je můj token odmítnut?' (obvykle vypršela platnost nebo nesprávné publikum), 'Pro kterého uživatele je tento token určen?' (zaškrtněte dílčí nárok), 'Kdy vyprší platnost?' (explicitní nárok) a 'Jaká oprávnění má tento uživatel?' (vlastní nároky, jako jsou role, rozsahy nebo oprávnění). Tato kalkulačka zpracovává nejběžnější analýzy: ověření struktury (3 části, platná base64url), analýzu JSON, stav vypršení platnosti (platný, vyprší brzy <7 dní, vypršelo), dosud neplatné zpracování (v budoucnu nbf) a lidsky čitelné zobrazení všech standardních nároků plus úplné záhlaví a JSON užitečného zatížení. Podpis je zobrazen, ale není ověřen — produkční ověření by mělo vždy používat knihovnu JWT (jsonwebtoken, jose, PyJWT atd.) se správným ověřovacím klíčem.

Calkulon makes complex calculations simple — built for students and everyday problem-solvers.

Vzorec

▾
f(x)Token JWT = base64url (záhlaví JSON) + '.' + base64url (datová část JSON) + '.' + base64url(podpis); Platí, pokud (exp > now) AND (nbf <= now OR nbf undefined)

Variable Legend

▾
SymbolJménoJednotkaPopis
headerZáhlavíJSONHlavička tokenu obsahující algoritmus (alg) a typ (typ). Algoritmy: HS256 (HMAC-SHA256), RS256 (RSA-SHA256), ES256 (ECDSA-P256-SHA256), PS256 (RSA-PSS-SHA256). Typ je obvykle „JWT“, ale lze jej vynechat.
payloadUžitečné zatížení (nároky)JSONToken se hlásí jako objekt JSON. Standardní nároky (sub, exp, iat, nbf, iss, aud, jti) se řídí RFC 7519. Vlastní nároky jsou specifické pro aplikaci (user_id, role, oprávnění, organization_id).
expDoba expiraceUnix timestamp (seconds)Unixové časové razítko při vypršení platnosti tokenu. Token je neplatný, pokud aktuální čas >= exp. Standardní postup: krátkodobý (15–60 minut) pro přístupové tokeny, delší (dny-týdny) pro obnovovací tokeny.
iatVydáno vUnix timestamp (seconds)Unixové časové razítko při vydání tokenu. Používá se pro sledování stáří tokenů a zjišťování replay útoků (porovnání s databází odvolaných tokenů podle iat).
nbfPředtím neUnix timestamp (seconds)Token je před tímto časovým razítkem neplatný. Nepovinný nárok. Používá se pro tokeny, které udělují přístup počínaje budoucím časem (např. plánovaný přístup).
subPodrobitstringO koho/o čem token je. Obvykle ID uživatele, e-mail nebo stabilní identifikátor. Měl by být jedinečný v rámci jmenného prostoru vydavatele.

How to JWT Decoder & Expiry Calculator

▾
  1. 1Krok 1 — Vložte svůj token JWT: Zkopírujte celý token (obvykle dlouhý řetězec začínající na „eyJ“, protože „eyJ“ je kódování base64url pro „{““, které začíná záhlaví JSON). Tokeny mají obvykle délku 100–2000 znaků v závislosti na velikosti datové části.
  2. 2Krok 2 — Ověření struktury tokenu: Kalkulačka rozdělí token na období. Platný JWT má přesně 3 části: záhlaví, užitečné zatížení, podpis. Pokud rozdělení nevytvoří 3 části, má token nesprávný tvar. Běžné příčiny: zkrácení během kopírování a vkládání, chybějící části v odpovědích API nebo tokeny jiné než JWT (některá rozhraní API používají neprůhledné tokeny, které nejsou JWT).
  3. 3Krok 3 — Dekódování Base64url: Každá část je dekódována pomocí base64url. Base64url je varianta base64 bezpečná pro adresy URL, která používá - a _ místo + a / a vynechává odsazení (=). Funkce atob() moderních prohlížečů zpracovává base64, ale vyžaduje konverzi: - → +, _ → /, přidat padding. Pokud se dekódování nezdaří, je token poškozen.
  4. 4Krok 4 — Analýza JSON: Dekódovaná hlavička a datová část by měly být platnými objekty JSON. Pokud JSON.parse selže, je obsah tokenu poškozen nebo se nejedná o standardní JWT. Některé starší systémy používají formáty „podobné JWT“ s binárním obsahem nebo obsahem jiným než JSON, který zde nelze dekódovat.
  5. 5Krok 5 — Extrakce a analýza nároků: Kalkulačka extrahuje standardní nároky (exp, iat, nbf, sub, iss, aud) a zobrazí je ve formě čitelné pro člověka. exp a iat jsou převedeny z časových razítek Unixu na data. Vlastní nároky jsou uvedeny v plném užitečném zatížení JSON pro kontrolu.
  6. 6Krok 6 — Výpočet stavu expirace: Aktuální čas (nyní) ve srovnání s exspirací. Kategorie stavu: PLATNÉ (exp > nyní + 7 dní), BRZY PLATÍ (expirace > nyní, ale < 7 dní), VYPRŠENÁ (expirace < nyní, ukazuje před dny), JEŠTĚ NEPLATNÉ (nbf > nyní, token je pro budoucí použití). Zbývající dny zobrazené pro kontext.
  7. 7Krok 7 — Zobrazení podpisu (NOT Verified): Třetí segment (podpis) je zobrazen, ale tímto nástrojem není nikdy ověřen. Ověření vyžaduje tajný (pro algoritmy HMAC) nebo veřejný klíč (pro asymetrické algoritmy) a mělo by být provedeno na straně serveru pomocí správné knihovny JWT. Nikdy nedůvěřujte neověřenému obsahu JWT v produkčním kódu.

Worked Examples

▾
Example 1Standardní platný JWT od poskytovatele OAuth2
Given:Token s exp=1709999999, iat=1516239022, sub='1234567890', alg='HS256'
Výsledek:Platné, HS256, předmět 1234567890, platnost vyprší 9. března 2024

Typický krátkodobý přístupový token byl úspěšně dekódován

Toto je standardní příklad tokenu JWT.io. Hlavička deklaruje algoritmus HS256 a typ JWT. Payload má informace o uživateli (sub, jméno) plus načasování (iat, exp). Stav bude záviset na aktuálním datu vzhledem k exp. Zobrazený podpis je zástupný symbol – skutečné tokeny mají platné podpisy HMAC vypočítané s tajemstvím vydavatele.

Example 2Platnost tokenu vypršela
Given:Token s exspirací v minulosti (např. minulý měsíc)
Výsledek:stav EXPIRED, zobrazeny dny od vypršení platnosti, isExpired=true

Běžný scénář ladění — token byl odmítnut z důvodu vypršení platnosti

Většina selhání autentizace s platně vypadajícími tokeny je prostě vypršení platnosti. Kalkulačka přesně ukazuje, kolik dní po vypršení platnosti. Oprava: obnovte token pomocí koncového bodu refresh_token (OAuth2) nebo znovu proveďte ověření. Produkční kód by měl automaticky obnovit přístupové tokeny 5-10 minut před exp, aby se zabránilo závodním podmínkám.

Example 3Chyba chybného tokenu
Given:Tokenu chybí podpisová část (pouze 2 segmenty)
Výsledek:Chyba — Neplatný formát JWT (musí mít 3 části oddělené tečkami)

Před dalším zpracováním zachytí zkrácené nebo jiné tokeny než JWT

Tokeny zkopírované neúplně nebo z rozhraní API, která vracejí jiné formáty než JWT (neprůhledné tokeny, prosté objekty blob zašifrované JWE), selžou při ověření. Chybová zpráva kalkulačky vede uživatele ke kontrole integrity tokenu. Běžné příčiny: zalamování řádků během kopírování, částečná odezva z API nebo použití neprůhledných tokenů OAuth (některé koncové body Microsoftu), které nejsou JWT.

Example 4Token s nbf v budoucnu (plánovaný přístup)
Given:Token s nbf=budoucím datem pro plánované povolení
Výsledek:JEŠTĚ NEPLATNÝ stav — token nelze použít do nbf

Vzácný případ použití pro časově zpožděnou autorizaci

Některé systémy vydávají tokeny, které se stanou platnými v budoucnu (např. plánovaný přístup ke schůzce, časově uzamčený obsah). nbf (ne dříve) zabraňuje předčasnému použití. Většina knihoven JWT respektuje nbf a odmítá tokeny před tímto časem. Pokud vidíte tento stav, token není poškozen – záměrně ještě není platný.

Real-World Applications

▾
🏗️

Ladění problémů s autentizací kontrolou nároků na tokeny a časování vypršení platnosti

🔬

Ověření tokenů OAuth2/OIDC během integrace s poskytovateli jako Auth0, Okta, AWS Cognito nebo Clerk

📊

Pochopení toho, jaká uživatelská data jsou zakódována v tokenech přijatých z rozhraní API třetích stran

🏥

Vytváření nástrojů pro správu, které potřebují pro účely podpory kontrolovat tokeny uživatelských relací

⚙️

Učení struktury JWT pro inženýrské pohovory a bezpečnostní audity

Standardní nároky JWT (RFC 7519)

▾
TvrzeníJménoPožadovanýÚčel
issVydavatelVolitelnýKdo token vydal (např. adresa URL poskytovatele identity)
subPodrobitVolitelnýO koho se token týká (obvykle ID uživatele)
audPublikumVolitelnýKdo by měl přijmout token (vaše API)
expVypršení platnostiDoporučenoKdyž se token stane neplatným
nbfPředtím neVolitelnýKdy se token stane platným (budoucí plánování)
iatVydáno vDoporučenoKdy byl vytvořen token
jtiJWT IDVolitelnýJedinečný identifikátor tokenu (pro prevenci opakovaného přehrávání)

Frequently Asked Questions

▾
Q

Je dekódování JWT stejné jako ověřování?

A

Ne. Dekódování extrahuje obsah, který si může kdokoli přečíst – záhlaví a obsah jsou pouze zakódovány pomocí base64url, nikoli zašifrovány. Verifikace kryptograficky kontroluje podpis pomocí tajného (algoritmy HMAC) nebo veřejného klíče (algoritmy RSA/ECDSA), aby potvrdila, že s tokenem nebylo manipulováno. Před důvěřováním obsahu tokenu v produkci vždy ověřte. Dekodéry jako tento nástroj slouží k ladění, nikoli k ověřování.

Q

Kde mám ukládat JWT v aplikacích prohlížeče?

A

Používejte httpOnly zabezpečené soubory cookie, nikoli localStorage nebo sessionStorage. localStorage je zranitelný vůči XSS – jakýkoli vložený skript může číst všechny uložené tokeny a exfiltrovat je. httpOnly soubory cookie nejsou přístupné JavaScriptu a poskytují vestavěnou ochranu CSRF, když jsou nastaveny na SameSite=Strict nebo SameSite=Lax. Pro mobilní aplikace použijte zabezpečené úložiště platformy (iOS Keychain, Android Keystore).

Q

Jak dlouhá by měla být expirace JWT?

A

Krátkodobé přístupové tokeny (15–60 minut) spárované s delšími obnovovacími tokeny (dny až týdny). Vyhněte se tokenům, kterým nevyprší platnost – jakmile jsou vydány, nelze je odvolat bez udržování černé listiny (která maří výhodu bez státní příslušnosti JWT). Běžné vzory: 15minutový přístup + 30denní obnova pro webové aplikace; 1hodinový přístup + 90denní obnova pro mobilní aplikace; 5minutový přístup + rotace tokenu pro vysoce zabezpečené aplikace.

Q

Jaký je rozdíl mezi JWT a OAuth2?

A

OAuth2 je autorizační protokol (jak klienti získávají oprávnění); JWT je formát tokenu. OAuth2 může používat JWT jako přístupové tokeny (dnes nejběžnější) nebo neprůhledné tokeny (starší toky Microsoftu). JWT fungují i ​​mimo OAuth2 – pro přímou autentizaci API, magické odkazy, tokeny pro resetování hesla. Jsou to doplňkové technologie, nikoli konkurenti.

Q

Mám použít HS256 nebo RS256?

A

RS256 (asymetrické RSA) pro distribuované systémy, kde více služeb ověřuje tokeny – každá může mít veřejný klíč, soukromý klíč potřebuje pouze vydavatel. HS256 (symetrický HMAC) pro jednoslužbové aplikace, kde stejná služba problémy a ověřování – jednodušší správa klíčů. Většina poskytovatelů identity standardně používá RS256. Volba algoritmu je součástí vaší bezpečnostní pozice.

Q

Jaká je maximální velikost JWT?

A

Technicky neomezené, ale praktické limity platí. Limit hlavičky HTTP (obvykle celkem 8 kB) omezuje tokeny odesílané prostřednictvím hlavičky Authorization. Limit velikosti souboru cookie (~4 kB na soubor cookie) omezuje úložiště. Většina produkčních JWT má 500–2000 znaků. Pokud vaše JWT přesahuje 4 kB, máte příliš mnoho vlastních nároků – zvažte načtení uživatelských údajů z databáze pomocí pouhého sub.

Common Mistakes to Avoid

▾
  • !Záměna dekódování s ověřením — tento nástroj pouze dekóduje; ověření podpisu vyžaduje kryptografický klíč a mělo by být provedeno na straně serveru pomocí knihovny JWT.
  • !Důvěřovat neověřenému obsahu JWT v bezpečnostních rozhodnutích – kdokoli může zfalšovat platný token; nikdy neautorizovat bez ověření.
  • !Ukládání JWT do localStorage s citlivými daty – náchylné k útokům XSS; používejte httpOnly zabezpečené soubory cookie pro produkční aplikace prohlížeče.
  • !Zapomínání na zkreslení hodin – povolte toleranci 30–60 sekund při porovnání exp/nbf mezi distribuovanými servery.
  • !Používání JWT s dlouhou životností bez rotace – jakmile jsou JWT vydány, nelze je snadno odvolat; použijte krátkodobý přístup + vzor rotace obnovovacího tokenu.
💡

Pro Tip

Použijte střídání obnovovacích tokenů v produkci – každé obnovení vydá nový pár a zruší platnost starého. To omezuje rádius výbuchu v případě odcizení obnovovacího tokenu a detekuje krádež tokenu, když se ukradený starý token pokusí použít po otočení. Hlavní poskytovatelé (Auth0, Okta, Cognito) podporují tento vzor hned po vybalení.

⭐

Did you know?

Specifikace JWT (RFC 7519) byla dokončena v květnu 2015 po několika letech revizí návrhů. Vyvinul se z dřívějších snah včetně SWT (Simple Web Token) u Microsoftu a JOSE (JSON Object Signing and Encryption) u IETF. Předpona 'eyJ', která začíná prakticky každý JWT, je kódování base64url '{"' — otevření libovolného objektu JSON. Díky tomuto vzoru jsou JWT na první pohled vizuálně identifikovatelné.

📖Difficulty:Intermediate
Formula-verified for precision
Reviewed October 2026
Our methodology

Ratings & comments

…

Získejte týdenní matematické tipy

Připojte se k 12 000+ odběratelům, kteří každý týden dostávají tipy na kalkulačku.

🔒
100 % zdarma
Nikdy bez registrace
✓
Přesné
Ověřené vzorce
⚡
Okamžité
Výsledky při psaní
📱
Připraveno pro mobily
Všechna zařízení

Nastavení

SoukromíPodmínkyO nás© 2026 Calkulon