§

Vložte svůj JWT

Parsování a ověření podpisu obojí běží lokálně. O tokenu není nic odesláno na server.
§

Hlavička

json
§

Payload

json
§

Ověřit podpis

Zadejte tajemství pro ověření podpisu.

JSON Web Tokeny pohánějí americký autentizační stack — od AWS Cognito ID tokenů, přes Auth0 a Okta access tokeny, až po Stripe-podepsané event tokeny, které webhook přijímače musí ověřit. Týmy britských finančních služeb pracující v rámci Open Banking frameworku spoléhají na stejný RFC 7519 obálku s FAPI-příchutí profily, kde claim `iss` ukazuje na JWKS endpoint ASPSP. Tento dekodér rozděluje tři Base64URL segmenty uvnitř prohlížeče, zobrazuje hlavičku, payload a podpis a dekóduje standardní claimy jako `exp`, `iat` a `nbf` se správným vykreslením časových pásem — aniž by váš bearer token opustil záložku nebo se objevil v serverovém logu.

Co je JSON Web Token?

JSON Web Token (JWT) je kompaktní URL-bezpečná obálka pro malý payload nároků. Je to standardní formát pověření pro bezstavové webové relace, OAuth/OIDC ID tokeny, API autentizaci stroj-stroj a podepsané magické odkazy. JWT je vždy tři base64url segmenty spojené tečkami: header.payload.signature. Hlavička a payload jsou JSON; podpis je binární MAC nebo digitální podpis přes první dva segmenty.

Jak JWTs fungují?

Když tento nástroj dekóduje token, prochází stejnou tříkrokovou cestou jako každá JWT knihovna:

  1. Rozdělte token na tečkách na přesně tři neprázdné segmenty. Jakýkoli jiný tvar je chybný.
  2. Base64url-dekódujte segmenty 0 a 1, pak na každý aplikujte JSON.parse. Hlavička nese algoritmus (alg) a typ tokenu (typ). Payload nese claimy (sub, exp, iat, vlastní klíče).
  3. Pokud je poskytnuto tajemství, přepočítejte MAC přes <segment0>.<segment1> pomocí algoritmu v hlavičce. Porovnejte bajty s třetím segmentem.
  4. Zobrazte výsledek ověření spolu s dekódovanými claimy, včetně lidsky čitelného indikátoru vypršení vypočteného z claimu exp.

Proč dekódovat JWT v prohlížeči?

Vložení skutečného, používaného JWT do vzdáleného debuggeru uniká pověření do logů té služby, jejího observability stacku a jakéhokoli partnera, kterému služba data posílá. I když web třetí strany tvrdí, že tokeny neloguje, nemáte způsob, jak to ověřit. Tento nástroj byl vytvořen, abyste nikdy nemuseli dělat tento kompromis:

  • Nulová síť: runtime nemá žádná volání fetch, XMLHttpRequest ani sendBeacon. Otevřete DevTools při dekódování a ověřování — panel Network zůstává tichý.
  • Nativní Web Crypto: HMAC ověření používá crypto.subtle.importKey a crypto.subtle.sign, stejné primitivy, které by volal váš runtime.
  • Statický deploy: každá stránka je jediný statický HTML soubor bez serverového endpointu, který by mohl být kompromitován. Není co uniknout, protože není server, kterému by unikalo.

Co tento nástroj ověřuje a co ne?

Verze 1 tohoto nástroje ověřuje pouze HMAC-SHA rodinu podpisů. Konkrétně:

  • Podporováno: HS256, HS384, HS512. Poskytněte sdílené tajemství a nástroj přepočítá a porovná MAC.
  • Zatím nepodporováno: RS256/384/512 (RSA), ES256/384/512 (ECDSA), EdDSA a PS256/384/512 (RSA-PSS). Ty vyžadují veřejný klíč ve formátu PEM nebo JWK a jsou záměrně odloženy do následné verze.
  • Odmítnuto: alg: "none". Nástroj token dekóduje, ale explicitně jej označí jako nezabezpečený — neprobíhá žádná validace podpisu a jakýkoli produkční systém, který takový token přijímá, má vážnou zranitelnost.

Jak vypadá příklad dekódování JWT?

Vložte kanonický RFC 7519 příklad tokenu do vstupního pole výše:

eyJhbG...VCJ9.eyJzdW...IyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Hlavička se dekóduje na {"alg":"HS256","typ":"JWT"} a payload na {"sub":"1234567890","name":"John Doe","iat":1516239022}. Zadejte your-256-bit-secret do ověřovacího panelu a kontrola podpisu vrátí platný. Změňte jeden znak tajemství a vrátí neplatný. Nic z toho neopouští váš prohlížeč.

Toto je JWT dekodér, který jsme si přáli, aby existoval, když jsme potřebovali ladit token v produkci: respektující soukromí, rychlý a postavený na stejných primitivech, které runtime používá.