# Generátor JWT

Vytvárajte podpísané webové tokeny JSON s vlastnými nárokmi JSON. Vyberte HS256, HS384 alebo HS512 so zdieľaným tajným kľúčom, RS256 až PS512 so súkromným kľúčom RSA, ES256 až ES512 so zodpovedajúcim kľúčom EC alebo EdDSA s kľúčom Ed25519 vo formáte PEM alebo JWK. Generátor môže pridať hlavičku iat, exp a kid, podpisuje pomocou knižnice jose a zobrazuje kompaktný token vedľa dekódovanej hlavičky a obsahu.

## Často kladené otázky

### Ktoré podpisovacie algoritmy môžem použiť?

Generátor podporuje HS256, HS384 a HS512 so zdieľaným tajným kľúčom, RS256, RS384, RS512, PS256, PS384 a PS512 so súkromným kľúčom RSA, ES256, ES384 a ES512 so súkromným kľúčom EC na krivke P-256, P-384 alebo P-521 a EdDSA so súkromným kľúčom Ed25519. Zvolený algoritmus sa zapíše do hlavičky alg a typ sa vždy nastaví na JWT.

### Čo mám zadať ako obsah?

Zadajte objekt JSON s nárokmi, napríklad sub, name, iss, aud alebo ľubovoľným vlastným členom. Polia, reťazce a iné hodnoty, ktoré nie sú objektom, sa odmietnu, pretože obsah JWT musí byť objekt JSON. Poradie nárokov a ich hodnoty zostanú presne také, ako ste ich zadali.

### Ako sa spracúva tajný kľúč HMAC?

Pri algoritmoch HS256, HS384 a HS512 sa tajný kľúč používa ako text UTF-8 po odstránení úvodných a koncových bielych znakov. Ak je váš tajný kľúč binárny, vložte ho ako JWK, napríklad {"kty": "oct", "k": "..."}, pričom bajty zadajte vo formáte base64url; namiesto toho sa použijú dekódované bajty. Kľúče PEM sa pri algoritmoch HMAC odmietajú, pretože použiť verejný kľúč ako tajný kľúč HMAC je častá chyba.

### Aký dlhý má byť tajný kľúč HS256?

RFC 7518 vyžaduje kľúč aspoň taký dlhý, ako je výstup hashovacej funkcie: teda 32 bajtov pre HS256, 48 pre HS384 a 64 pre HS512. Nástroj podpisuje aj s kratšími tajnými kľúčmi, aby ste mohli zopakovať testovacie tokeny, no produkčné tajné kľúče by mali byť dlhé náhodné hodnoty, napríklad vytvorené generátorom hesiel.

### Ktoré formáty súkromných kľúčov pre RSA, EC a EdDSA sú podporované?

Vložte nezašifrovaný súkromný kľúč PEM vo formáte PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) alebo SEC1 (BEGIN EC PRIVATE KEY), prípadne súkromný kľúč JWK, ktorý obsahuje člena d. Šifrované súbory PEM a súkromné kľúče OpenSSH sa nenačítavajú. Kľúč musí zodpovedať algoritmu, takže ES384 vyžaduje kľúč P-384 a kľúče RSA musia mať aspoň 2048 bitov.

### Ako sa nastavujú iat a exp?

Keď je zapnutá možnosť „čas vydania“, iat sa nastaví na aktuálny čas, pokiaľ váš obsah už neobsahuje nárok iat. Keď je platnosť dlhšia ako 0 sekúnd, exp sa nastaví na aktuálny čas plus zadaný počet sekúnd a nahradí prípadné exp vo vašom obsahu. Pri platnosti 0 sa exp nepridá a prípadné exp z obsahu zostane zachované.

### Na čo slúži pole kid?

Neprázdne ID kľúča sa zapíše do hlavičky kid, aby overovatelia mohli vybrať správny kľúč z JWKS. Ak ako podpisovací kľúč vložíte JWKS, kid tiež určí, ktorý kľúč zo súboru podpíše token. Prevodník JWK a generátory kľúčov zobrazujú odtlačok podľa RFC 7638, ktorý sa hodí ako kid.

### Čo obsahuje výsledok?

Získate kompaktný token, algoritmus, ID kľúča, čas vydania a čas vypršania platnosti vo formáte UTC a presné JSON hlavičky a obsahu, ktoré boli podpísané. Token skopírujte z prvého bloku. Neskôr ho znova dekódujte pomocou dekodéra JWT alebo overte pomocou overovača JWT.

### Ukladajú sa moje tajné údaje alebo kľúče?

Nie. Tajný údaj alebo súkromný kľúč sa prenáša iba v požiadavke, ktorá podpisuje token, použije sa raz v pamäti a nikdy sa nezaznamenáva ani neukladá. Aj tak odporúčame používať na experimenty testovacie kľúče a nikdy nevkladať produkčný podpisovací kľúč do webového nástroja, pokiaľ server nemáte pod kontrolou.

### Platia obmedzenia veľkosti?

Obsah môže mať najviac 65,536 znakov, kľúč 65,536 znakov a kid 256 znakov. Platnosť môže byť od 0 do 315,360,000 sekúnd, teda desať rokov. Dlhšie vstupy sa odmietnu a zobrazí sa správa s názvom poľa.

Vaša reklama tu?

[Napíšte nám e-mail](mailto:hi@dennn.is?subject=Reklama%20na%20OneClick%20Pro)

[Reklama Súprava doplnkov pripravená pre agentov pre WordPress.](https://sleekwp.com/?ref=oneclickpro)
