# Generátor JWT

Vytvořte podepsaný webový token JSON s vlastními nároky JSON. Vyberte HS256, HS384 nebo HS512 se sdíleným tajemstvím, RS256 až PS512 se soukromým klíčem RSA, ES256 až ES512 s odpovídajícím klíčem EC nebo EdDSA s klíčem Ed25519 ve formátu PEM nebo JWK. Generátor může přidat hlavičku iat, exp a kid, podepíše token pomocí knihovny jose a zobrazí kompaktní token vedle dekódované hlavičky a obsahu.

## Často kladené otázky

### Které algoritmy podepisování mohu použít?

Generátor podporuje HS256, HS384 a HS512 se sdíleným tajemstvím, RS256, RS384, RS512, PS256, PS384 a PS512 se soukromým klíčem RSA, ES256, ES384 a ES512 se soukromým klíčem EC na křivce P-256, P-384 nebo P-521 a EdDSA se soukromým klíčem Ed25519. Zvolený algoritmus se zapíše do hlavičky alg a typ se vždy nastaví na JWT.

### Co mám zadat jako obsah?

Zadejte objekt JSON se svými nároky, například sub, name, iss, aud nebo libovolnou vlastní položku. Pole, řetězce a jiné hodnoty, které nejsou objektem, budou odmítnuty, protože obsah JWT musí být objektem JSON. Pořadí nároků i hodnoty zůstanou přesně tak, jak jste je zadali.

### Jak se načítá tajemství HMAC?

U algoritmů HS256, HS384 a HS512 se tajemství použije jako text UTF-8 po odstranění počátečních a koncových mezer. Pokud je vaše tajemství binární, vložte ho jako JWK, například {"kty": "oct", "k": "..."}, s bajty ve formátu base64url; použijí se dekódované bajty. Klíče PEM se pro algoritmy HMAC odmítají, protože použít veřejný klíč jako tajemství HMAC je častá chyba.

### Jak dlouhé má být tajemství HS256?

RFC 7518 požaduje klíč alespoň tak dlouhý, jako je výstup hashovací funkce, tedy 32 bajtů pro HS256, 48 pro HS384 a 64 pro HS512. Nástroj podepisuje i s kratšími tajemstvími, abyste mohli reprodukovat testovací tokeny, ale tajemství pro produkční prostředí by měla být dlouhá náhodná hodnota, například vygenerovaná generátorem hesel.

### Jaké formáty soukromých klíčů přijímá RSA, EC a EdDSA?

Vložte nešifrovaný soukromý klíč PEM ve formátu PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) nebo SEC1 (BEGIN EC PRIVATE KEY), případně soukromý JWK obsahující položku d. Šifrované soubory PEM a soukromé klíče OpenSSH se nenačítají. Klíč musí odpovídat algoritmu, takže ES384 vyžaduje klíč P-384 a klíče RSA musí mít alespoň 2048 bitů.

### Jak se nastavují iat a exp?

Když je zapnutá možnost vydání tokenu, iat se nastaví na aktuální čas, pokud váš obsah už nárok iat neobsahuje. Pokud je platnost delší než 0 sekund, exp se nastaví na aktuální čas plus zadaný počet sekund a nahradí případné exp ve vašem obsahu. Při platnosti 0 se exp nepřidá a případné exp z obsahu zůstane zachováno.

### K čemu slouží pole kid?

Neprázdné ID klíče se zapíše do hlavičky kid, aby ověřovatelé mohli vybrat správný klíč z JWKS. Pokud jako podpisový klíč vložíte JWKS, kid také určí, který klíč ze sady token podepíše. Převodník JWK a generátory klíčů zobrazují otisk podle RFC 7638, který se hodí jako kid.

### Co obsahuje výsledek?

Získáte kompaktní token, algoritmus, ID klíče, časy vydání a expirace v UTC a přesné objekty hlavičky a obsahu JSON, které byly podepsány. Token zkopírujte z prvního bloku. Později ho znovu dekódujte pomocí dekodéru JWT nebo ověřte ověřovačem JWT.

### Ukládají se moje tajemství nebo klíče?

Ne. Tajemství nebo soukromý klíč se přenese pouze v požadavku, který token podepisuje, jednou se použije v paměti a nikdy se nezaznamená ani neuloží. I tak při testování upřednostňujte testovací klíče a nikdy nevkládejte produkční podpisový klíč do žádného webového nástroje, pokud server nemáte pod kontrolou.

### Platí nějaké omezení velikosti?

Obsah může mít až 65,536 znaků, klíč až 65,536 znaků a kid až 256 znaků. Platnost může být v rozsahu od 0 do 315,360,000 sekund, tedy deseti let. Delší vstupy budou odmítnuty zprávou, která uvádí název pole.

Vaše reklama zde?

[Napište nám](mailto:hi@dennn.is?subject=Inzerce%20na%20OneClick%20Pro)

[Reklama Sada pluginů připravená pro agenty pro WordPress.](https://sleekwp.com/?ref=oneclickpro)
