Přeskočit na obsah

Generátor JWT

Vytvářejte a podepisujte JSON Web Tokeny s HMAC přímo v prohlížeči.

Vstup
Výstup

Generátor JWT

Vložte JSON payload a tento nástroj vytvoří kompletný JSON Web Token: sestaví hlavičku z vybratého algoritmu, zakóduje hlavičku a payload jako Base64URL a výsledek podepíše HMAC. Použijte ho k vytvoření testovacích tokenů pro API, ladění toku autentifikace nebo k vidění přesně toho, jak dané nároky vypadají po zakódování.

Vyberte HS256, HS384 nebo HS512 a zadejte tajný klíč, kterým má být token podepsán — stejný klíč, který bude server používat k ověření. Přepínače pro rychlé vyplnění přidají běžné časové nároky bez ručního psaní: "iat" označí token aktuálním časem, "platnost" nastaví "exp" na teď plus vybraný čas trvání (od 15 minut do 30 dní, nebo žádný), a "nbf" označí token jako neplatný až do té doby. Samostatná pole nastavují "sub" a "iss" když potřebujete nárok na subjekt nebo vydavatele. Nárok na rychlé vyplnění vždy přepíše stejnojmenný nárok již v JSON, takže můžete začít se šablonou payloadu a nechat přepínače vyplnit zbytek.

Payload mohou být pěkně formátované nebo kompaktní — pěkné formátování pouze změní způsob vložení JSON, ne na co se dekóduje. Po podepsání nástroj dekóduje token, který právě vytvořil, a nezávisle znova zkontroluje podpis pomocí Web Crypto API, takže řádek součtu potvrzuje, že se token skutečně ověřuje spíše než jen předpokládáte. Velmi velké payloady se zpracovávají až do limitu výstupu 10 MB a stejný tajný klíč a payload vždy vytvářejí stejný token — nic zde nezávisí na náhodnosti.

Všechno se spouští lokálně v prohlížeči: payload, tajný klíč a samotné podepisování nikdy neopouštějí vaše zařízení ani server. Zkopírujte token, stáhněte ho jako soubor .txt, nebo ho pošlete přímo do dekodéru JWT, abyste viděli, co jste právě vytvořili.

Časté dotazy

Které algoritmy jsou podporovány?
HS256, HS384 a HS512 — HMAC podepisování s SHA-256, SHA-384 nebo SHA-512. Asymetrické algoritmy jako RS256 nebo ES256 potřebují pár soukromého klíče a nejsou zde podporovány.
Co se stane, pokud nechám payload prázdný?
Prázdný payload se považuje za prázdný JSON objekt. V kombinaci s přepínači pro rychlé vyplnění stále můžete vygenerovat token, který nese pouze nároky jako "iat" a "exp".
Přepíší nároky na rychlé vyplnění to, co jsem napsal?
Ano, záměrně: "iat", "exp", "nbf", "sub" a "iss" z přepínačů a polí vždy mají přednost před stejnojmennými nároky již v JSON payloadu.
Jak se ověřuje podpis?
Po podepsání nástroj dekóduje token, který právě vytvořil, a nezávisle znova zkontroluje podpis pomocí Web Crypto API prohlížeče, pak hlásí výsledek v řádku součtu.
Je můj tajný klíč nebo payload někde nahrán?
Ne. Celý token je vytvořen a podepsán v prohlížeči pomocí Web Crypto API — tajný klíč, payload a výsledný token nikdy neopouštějí vaše zařízení a tajný klíč nikdy není uložen v místním úložišti.