# Ověřovač JWT

Ověřte, zda je webový token JSON pravý a stále platný. Vložte token spolu s tajemstvím HMAC, veřejným klíčem PEM, certifikátem, JWK nebo celým JWKS. Ověřovač pomocí knihovny jose zkontroluje podpis, porovná exp a nbf s aktuálním časem a případnou tolerancí hodin a vedle dekódované hlavičky a nároků zobrazí jasný výsledek. Tokeny s alg none jsou odmítnuty.

## Často kladené otázky

### Co ověřovač kontroluje?

Kontroluje podpis pomocí zadaného klíče a poté porovnává nároky exp a nbf s aktuálním časem. Token je platný pouze tehdy, když podpis souhlasí a žádná z časových kontrol neselže. Nároky jako iss, aud nebo sub se zobrazují v obsahu, ale neporovnávají se s očekávanými hodnotami.

### Jaké klíče mohu vložit?

Pro HS256, HS384 a HS512 vložte sdílený tajný klíč jako text nebo jako oct JWK. Pro tokeny RSA, EC a EdDSA vložte veřejný klíč PEM (SPKI nebo PKCS #1), certifikát X.509, veřejný nebo soukromý JWK, JWKS s až 50 klíči nebo soukromý klíč PEM, z něhož se použije pouze veřejná část.

### Jak se z JWKS vybere správný klíč?

Pokud hlavička tokenu obsahuje kid, použije se klíč se stejným kid v sadě; pokud žádný neodpovídá, chyba uvede kid. Bez kid musí sada obsahovat přesně jeden klíč. To odpovídá způsobu, jakým většina serverů vybírá klíče z dokumentu jwks_uri.

### K čemu slouží volba algoritmu?

Při volbě Use the token's alg se algoritmus převezme z hlavičky tokenu, klíč mu ale stále musí odpovídat, takže veřejný klíč RSA nikdy nelze použít jako tajný klíč HMAC. Výběrem konkrétního algoritmu také vyžadujete, aby jej token používal; takto by měl server zafixovat očekávaný algoritmus. Token s jiným alg bude odmítnut a zobrazí se oba názvy.

### Proč je odmítnut token s alg none?

Token s alg none neobsahuje podpis, takže není co ověřovat a mohl jej vytvořit kdokoli. Přijetí takových tokenů je dobře známá zranitelnost v knihovnách JWT. Ověřovač jej nahlásí jako chybu, nikoli jako platný výsledek.

### Jak fungují exp, nbf a časová tolerance?

Token se považuje za prošlý, když exp nastane nebo uplyne před aktuálním časem, a za dosud neplatný, když nbf leží v budoucnosti. Časová tolerance v rozmezí 0 až 3600 sekund rozšiřuje obě kontroly, aby zohlednila rozdíly času mezi servery. Přítomné nároky, které nemají číselnou hodnotu, token zneplatňují.

### Co znamená neplatný podpis?

Token nebyl podepsán zadaným klíčem nebo byla po podepsání změněna jeho hlavička či obsah. Zkontrolujte, zda jste vložili odpovídající veřejný klíč nebo tajný klíč včetně přesných znaků a zda jste zkopírovali celý token. Dekódovaná hlavička i obsah se stále zobrazují, abyste je mohli porovnat.

### Které algoritmy jsou podporovány?

HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512 a EdDSA s klíči Ed25519. Klíče RSA musí mít alespoň 2048 bitů. Šifrované tokeny (JWE) se nedešifrují.

### Ukládá se token nebo klíč?

Ne. Token a klíč se použijí pouze pro toto ověření v paměti a nikdy se nezaznamenávají ani neukládají. Veřejný klíč lze bezpečně sdílet, ale s tajnými klíči HMAC zacházejte opatrně a každý klíč, o němž se domníváte, že unikl, vyměňte.

### Jak velký může být token a klíč?

Token může mít až 65,536 znaků a pole klíče až 262,144 znaků, což stačí i pro velké dokumenty JWKS. Token musí mít tři části base64url oddělené tečkami, hlavičku JSON s členem alg a objekt JSON jako svůj obsah.

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)
