Preskočiť na obsah

Generátor JWT

Vytvárajte a podpisujte JSON Web Tokeny s HMAC priamo v prehliadači.

Vstup
Výstup

Generátor JWT

Vložte JSON payload a tento nástroj vytvorí kompletný JSON Web Token: zostaví hlavičku z vybratého algoritmu, zakóduje hlavičku a payload ako Base64URL a výsledok podpíše HMAC. Použitie ho na vytvorenie testovacích tokenov pre API, ladenie toku autentifikácie alebo na videnie presne toho, ako vyzerajú dané nároky po zakódovaní.

Vyberte HS256, HS384 alebo HS512 a zadajte tajný kľúč, ktorým má byť token podpísaný — ten istý kľúč, ktorý bude server používať na overenie. Prepínače na rýchle vyplnenie pridajú bežné časové nároky bez ručného zadávania: "iat" označí token aktuálnym časom, "platnosť" nastaví "exp" na teraz plus zvolené trvanie (od 15 minút do 30 dní, alebo žiadne), a "nbf" označí token ako neplatný až dovtedy. Samostatné polia nastavujú "sub" a "iss" keď potrebujete nárok na subjekt alebo vydavateľa. Nárok na rýchle vyplnenie vždy prepíše rovnomenny nárok už v JSON, takže môžete začať zo šablóny payloadu a nechať prepínače vyplniť zvyšok.

Payload môže byť pekne formátovaný alebo kompaktný — pekne formátované iba zmení spôsob zapojenia JSON, nie na čo sa dekóduje. Po podpísaní nástroj dekóduje token, ktorý práve vytvoril, a nezávisle znova skontroluje podpis pomocou Web Crypto API, takže riadok počítadla potvrdzuje, že sa token skutočne overuje namiesto iba predpokladania. Veľmi veľké payloady sa zvládajú až do limitu výstupu 10 MB a ten istý tajný kľúč a payload vždy produkujú ten istý token — nič tu nezávisí od náhodnosti.

Všetko sa spúšťa miestne v prehliadači: payload, tajný kľúč a samotné podpisovanie nikdy neopúšťajú vaše zariadenie ani neprekonajú server. Skopírujte token, stiahnite ho ako súbor .txt, alebo ho pošlite priamo do dekódovača JWT, aby ste videli, čo ste práve vytvorili.

Časté otázky

Ktoré algoritmy sú podporované?
HS256, HS384 a HS512 — HMAC podpisovanie s SHA-256, SHA-384 alebo SHA-512. Asymetrické algoritmy ako RS256 alebo ES256 potrebujú pár súkromného kľúča a nie sú tu podporované.
Čo sa stane, ak nechám payload prázdny?
Prázdny payload sa považuje za prázdny JSON objekt. V kombinácii s prepínačmi na rýchle vyplnenie stále môžete vygenerovať token, ktorý niesie iba nároky ako "iat" a "exp".
Prepísou nароки na rýchle vyplnenie to, čo som napísal?
Áno, úmyselne: "iat", "exp", "nbf", "sub" a "iss" z prepínačov a polí vždy majú prednosť pred rovnomennými nárokmi už v JSON payloade.
Ako sa overuje podpis?
Po podpísaní nástroj dekóduje token, ktorý práve vytvoril, a nezávisle znova skontroluje podpis pomocou Web Crypto API prehliadača, potom hlási výsledok v riadku počítadla.
Je môj tajný kľúč alebo payload niekde nahravaný?
Nie. Celý token je vytvorený a podpísaný v prehliadači pomocou Web Crypto API — tajný kľúč, payload a výsledný token nikdy neopúšťajú vaše zariadenie a tajný kľúč nikdy nie je uložený v miestnom úložisku.