Nástroje pro vývojáře
Online ladicí program JSON Web Token

Online dekódování JWT

Zkontrolujte hlavičku a datovou část webového tokenu JSON. Tento nástroj neověřuje podpisy a zpracování zůstává ve vašem prohlížeči.

Vstup tokenu JWT

Vložte JWT níže, abyste mohli okamžitě dekódovat, zkontrolovat a ověřit.

Čekání na vstup JSON Web Token.

Dekódovat záhlaví

JSON
Po vložení JWT se zde zobrazí analyzovaný obsah.

Dekódovat užitečné zatížení

Nároky
Po vložení JWT se zde zobrazí analyzovaný obsah.

Ověření podpisu JWT

Vyberte
Po dekódování se zde zobrazí podpis.

Zadejte tajemství, které se má použít při vydávání JWT. Ověření HS256 se provádí nativně ve vašem prohlížeči.

JWT

Jak používat online dekódování JWT?

  1. Vložte celý token JWT.
  2. Stiskněte "Decode JWT" pro analýzu záhlaví, užitečného zatížení a podpisu.
  3. Když potřebujete potvrdit podpis, zadejte tajný klíč a poté použijte „Ověřit podpis“.
JSON

Co je to JSON Web Token?

JWT je formát tokenu běžně používaný pro přihlašování, ověřování API a autorizaci mezi službami. Skládá se ze tří sekcí: záhlaví, užitečné zatížení a podpis.

Obsah užitečného obsahu lze dekódovat a číst a citlivé informace by neměly být uváděny do nároků JWT.

HS

JWT Verify a zabezpečení

Tato stránka podporuje ověřování a generování podpisu HS256, což usnadňuje kontrolu, zda je token testovacího prostředí vytvořen se stejným tajemstvím.

Veškeré dekódování, kódování a ověřování podpisů JWT se provádí nativně v prohlížeči.

BÁZE ZNALOSTÍ JWT SEO

Kompletní průvodce online dekódováním JWT: Co je to JSON Web Token, jak jej ověřit a jak jej bezpečně používat

Pokud hledáte „JWT Decoder“, „JWT Decoder“, „JSON Web Token Parsing“, „JWT Verify“ nebo „JWT Encoder“, obvykle to znamená, že již token máte a potřebujete rychle porozumět jeho hlavičce, užitečnému zatížení, době expirace, podpisovému algoritmu a nárokům. Tato stránka poskytuje nejen online dekódovací nástroje JWT, ale také organizuje základní znalosti o JWT, na které se vývojáři často ptají.

Co je JWT?

JWT je zkratka JSON Web Token. Jedná se o formát tokenu, který používá JSON k reprezentaci informací a poté je převádí na zjednodušený řetězec. Často se používá na front-end a back-end oddělených webech, App API, přihlášení členů, jednotné přihlašování SSO, autorizaci mikroslužeb a výměnu dat mezi službami.

Dekódování JWT nevyžaduje heslo, protože záhlaví a obsah jsou zakódovány pouze pomocí Base64URL, nikoli zašifrovány. Každý, kdo získá token, může použít dekodér JWT k zobrazení obsahu užitečného obsahu, takže nároky nemohou obsahovat hesla, klíče API nebo citlivé osobní údaje.

Kdy použít JWT?

Nejčastějším případem použití je autorizace. Poté, co se uživatel úspěšně přihlásí, autorizační server vydá JWT. Když front-end nebo aplikace následně zavolá rozhraní API, token se umístí do hlavičky HTTP Authorization, například Authorization: Bearer .

JWT se také běžně používá pro výměnu informací. Když si dva systémy potřebují vyměňovat ověřitelná data, podpisy umožňují přijímajícímu konci potvrdit, že data nebyla během přenosu změněna. Koncový bod JWKS se běžně používá ve velkých systémech k odhalení veřejných klíčů, aby různé služby mohly ověřit zdroj tokenu.

Třídílná struktura JWT: záhlaví, užitečné zatížení, podpis

Standardní JWT se obvykle skládá ze tří řetězců Base64URL oddělených tečkami: Header.Payload.Signature. První část záhlaví popisuje typ tokenu a algoritmus podpisu, druhá část datové části obsahuje nároky a třetí část podpisu se používá k ověření integrity.

Mezi běžné registrované nároky patří iss, sub, aud, exp, nb0. data-i18n="auto.012">iat a jti. Dobré ověření API obvykle zkontroluje alespoň exp, iss a aud.

Jak JWT funguje v přihlášení a API?

Typický proces je: uživatel se přihlásí, autorizuje server k ověření hesla účtu nebo výsledku přihlášení třetí strany a poté vydá přístupový token; front-end připojí přístupový token k požadavku API; back-end API ověří token a vrátí chráněná data.

JWT není univerzální náhrada relace. Jakmile je token vydán, lze jej obvykle ověřit bez kontroly databáze před vypršením platnosti. Zrušení tokenu, okamžité změny oprávnění a zpracování odhlášení však musí být ještě navrženo.

Jaký je rozdíl mezi JWT Validation a JWT Verification?

Validace JWT se obvykle týká kontroly, zda token splňuje očekávaná pravidla, například zda má tři segmenty, zda jej lze dekódovat, zda je JSON legální, zda vypršela jeho platnost, zda je vydavatel správný a zda publikum vyhovuje aktuálnímu API.

Ověření JWT použije zadaný algoritmus a klíč k přepočtu podpisu a poté jej porovná s třetím podpisem tokenu. Schopnost porozumět užitečné zátěži neznamená, že je token důvěryhodný; oficiální API musí projít ověřením pečeti a ověřením nároků.

Jaký je rozdíl mezi JWT Decode a JWT Encode?

JWT Decode převede první a druhý odstavec tokenu zpět na JSON, což vám umožní číst záhlaví a obsah. JWT Encode je opačný proces: připravte Header JSON a Payload JSON, vygenerujte podpis a nakonec je zkombinujte do kompletního tokenu.

Pokud chcete pouze vidět obsah užitečného zatížení, nepotřebujete tajemství; pokud chcete potvrdit, zda je token skutečně vydán vaším systémem, musíte k ověření Podpisu použít správný tajný nebo veřejný klíč. V současné době tato stránka podporuje HS256.

Porovnání nároků JWT: Na která pole bych se měl po dekódování podívat?

Při použití online dekódování JWT byste měli také zkontrolovat, kdo token vydal, kterému systému byl vydán, kdy nabude účinnosti, kdy vyprší platnost a zda rozsah oprávnění splňuje požadavky API. Následující tabulka shrnuje běžné nároky JWT.

NárokovatČínský významCo zkontrolovat při ladění
issEmitent, emitentAť už je to váš autorizační server nebo důvěryhodný poskytovatel identity.
subPředmět, uživatel nebo hlavní IDZda odpovídá správnému uživateli, členovi, servisnímu účtu nebo zařízení.
audPublikum, symbolické publikumZda jej odeslat do aktuálního rozhraní API; chyby publika často způsobují 401.
zkDoba expirace, doba expiraceZda vypršela; všimněte si rozdílu v zobrazení časového razítka a časového pásma v Unixu.
nbfNe dříve, efektivní časZda ještě nedosáhla využitelná doba; ovlivní to také odchylka času serveru.
iatVydáno v, čas vydáníOdpovídá skutečnému času přihlášení nebo obnovovacího tokenu.
jtiJWT ID, jedinečné ID tokenuAť už jej lze použít pro seznamy odvolání, protokoly auditu nebo ochranu před útoky při opakovaném přehrávání.
rozsahRozsah pravomociZda existují oprávnění pro čtení, zápis, správce a další oprávnění vyžadovaná rozhraním API.

Jak si vybrat mezi HS256, RS256 a ES256?

alg v záhlaví JWT sdělí ověřovateli, který algoritmus by měl být použit. HS256 je HMAC SHA-256 a jak vydávání, tak ověřování používají stejnou sadu tajemství; RS256 používá podpis soukromého klíče RSA a ověření veřejného klíče; ES256 používá algoritmus eliptické křivky.

Backend by měl jasně specifikovat seznam povolených algoritmů, aby se zabránilo útočníkům ovlivnit proces ověřování úpravou záhlaví. Pokud JWT pochází od poskytovatele identity, obvykle si získejte JWKS nebo veřejný klíč a zaškrtněte kid, iss, aud,

Běžné chyby JWT a metody odstraňování problémů

Nejčastější problémy, se kterými se při používání JWT Decoderu setkáváme, jsou, že token není ve standardním třísegmentovém formátu, řetězec Base64URL je zkopírován neúplně, před a za jsou mezery, datová část není legální JSON nebo je nesprávně použito podpisové tajemství. Pokud API vrátí 401 nebo 403, doporučuje se nejprve dekódovat JWT a potvrdit exp, aud a scope.

Kontrolní seznam ladění JWT
  • Zda je token ve formátu tří segmentů header.payload.signature.
  • Zda záhlaví Authorization používá schéma Bearer.
  • Zda vypršela platnost exp a zda je synchronizován čas serveru.
  • Zda jsou iss a aud konzistentní s aktuálním prostředím.
  • Zda je tajemství HS256 zcela v souladu s koncem vydání.
  • Zda RS256 / ES256 používá správný veřejný klíč a kid.
  • Zda nároky na oprávnění obsahují rozsah nebo roli vyžadovanou rozhraním API.

Jaké jsou rozdíly mezi JWT, Session a SAML?

Session obvykle ukládá stav na serveru nebo centralizovaném úložišti a prohlížeč ukládá pouze ID relace; JWT vloží část stavu do tokenu, takže API může použít podpis k ověření integrity. SAML je založen na XML a běžně se používá v podnikovém jednotném přihlašování.

PlánVhodné pro danou situaciVěci k poznámce
JWTAutorizace API, přístupový token SSO, mikroslužbyJe nutné kontrolovat dobu expirace, ověřování plomby, odvolání a únik citlivých informací.
RelaceTradiční webové stránky, které vyžadují okamžité odhlášení nebo centralizovanou kontrolu stavuJe vyžadováno úložiště relací na straně serveru a rozšíření mezi službami vyžaduje další návrh.
SAMLIntegrace podnikové identity, starší systémy jednotného přihlášeníStruktury XML jsou větší a podpisy a nastavení jsou obvykle složitější.

Bezpečnostní rada JWT: White hat SEO by také mělo jasně zapsat rizika

  • Do záhlaví JWT nebo Payload nevkládejte hesla, soukromé klíče, klíče API, platební údaje ani citlivé osobní údaje.
  • Nastavte přiměřený exp a neprovádějte platnost přístupového tokenu po dlouhou dobu.
  • Povolené algoritmy musí být opraveny během back-endového ověření a slepě nedůvěřujte alg záhlaví.
  • Použijte dostatečně dlouhý a náhodný tajný klíč HS256; nepoužívejte příklad tajemství v produkčním prostředí.
  • Zkontrolujte iss, aud, nbf, iat s potřebnými nároky na oprávnění.
  • Vyhněte se nacpání příliš velkého seznamu oprávnění do JWT, abyste zabránili příliš velkému záhlaví nebo nezpůsobili únik dat.
  • Tokeny front-end úložiště potřebují vyhodnotit XSS, CSRF, atributy souborů cookie a rizika úložiště prohlížeče.

Tento online dekódovací nástroj JWT používá nativní zpracování prohlížeče: token, tajný klíč, JSON záhlaví a JSON datové části, které vložíte, nebudou nahrány na server ToolBoy. I tak by se při nakládání se skutečnými produkčními tokeny měla stále dodržovat zásada minimálního zveřejnění.

JWT se často objevuje v procesu ladění API spolu s JSON, Base64URL, URL dotazem, časovým razítkem, SHA-256, UUID, regex a dalšími datovými formáty. Můžete použít nástroj pro formátování JSON od ToolBoy, kódování a dekódování Base64, nebo generátor UUID.

Další informace naleznete v jwt.io JSON Web Token Introduction a RFC 7519. Obsah této stránky byl reorganizován a přepsán v čínštině se zaměřením na praktické ladění, white hat SEO a nativní soukromí.

Nejčastější dotazy k online dekódování JWT

Ověří online dekódování JWT podpis?
Dekódování záhlaví a užitečného zatížení není ekvivalentní ověření podpisu; pro potvrzení, zda byl token zmanipulován, zadejte stejné tajemství a proveďte ověření.
Může JWT Payload obsahovat hesla nebo klíče?
Nedoporučuje se. Obecně je JWT kódováno pouze Base64URL a každý, kdo získá token, může číst užitečné zatížení.
Je kodér JWT vhodný pro oficiální vydávání tokenů?
Tento nástroj je vhodný pro vývoj, testování a ladění. Formální prostředí by mělo mít tokeny vydávání backendových služeb a správně spravovat tajné nebo soukromé klíče.