# Overovač JWT

Overte, či je webový token JSON pravý a stále platný. Vložte token spolu s tajným kľúčom HMAC, verejným kľúčom PEM, certifikátom, kľúčom JWK alebo celým JWKS. Overovač skontroluje podpis pomocou knižnice jose, porovná exp a nbf s aktuálnym časom a prípadnou toleranciou odchýlky hodín a zobrazí jasný výsledok vedľa dekódovanej hlavičky a nárokov. Tokeny s alg none sa odmietajú.

## Často kladené otázky

### Čo overovač kontroluje?

Skontroluje podpis pomocou zadaného kľúča a potom porovná nároky exp a nbf s aktuálnym časom. Výsledok je platný iba vtedy, keď sa podpis zhoduje a ani jedna časová kontrola zlyhá. Nároky ako iss, aud alebo sub sa zobrazia v obsahu, ale neporovnávajú sa s očakávanými hodnotami.

### Ktoré kľúče môžem vložiť?

Pri algoritmoch HS256, HS384 a HS512 vložte zdieľané tajomstvo ako text alebo ako oct JWK. Pri tokenoch RSA, EC a EdDSA vložte verejný kľúč PEM (SPKI alebo PKCS #1), certifikát X.509, verejný alebo súkromný JWK, JWKS s najviac 50 kľúčmi alebo súkromný kľúč PEM, z ktorého sa použije iba verejná časť.

### Ako sa z JWKS vyberie správny kľúč?

Ak hlavička tokenu obsahuje kid, použije sa kľúč s rovnakým kid v množine. Ak sa žiadny nezhoduje, chyba uvedie kid. Ak kid chýba, množina musí obsahovať presne jeden kľúč. Takto vyberá kľúče z dokumentu jwks_uri väčšina serverov.

### Na čo slúži možnosť algoritmu?

Pri možnosti Use the token's alg sa algoritmus prevezme z hlavičky tokenu, kľúč mu však stále musí zodpovedať, takže verejný kľúč RSA nikdy nemožno použiť ako tajomstvo HMAC. Výberom konkrétneho algoritmu zároveň vyžadujete, aby ho token používal; takto by mal server nastaviť očakávaný algoritmus. Token s iným alg sa potom odmietne a zobrazia sa oba názvy.

### Prečo sa odmieta token s alg none?

Token s alg none nemá podpis, takže nie je čo overovať a mohol ho vytvoriť ktokoľvek. Prijímanie takýchto tokenov je známa zraniteľnosť v knižniciach JWT. Overovač ho nahlási ako chybu, nie ako platný výsledok.

### Ako fungujú exp, nbf a tolerancia hodín?

Token sa považuje za expirovaný, keď je exp menšie alebo rovné aktuálnemu času, a za zatiaľ neplatný, keď je nbf neskoršie než aktuálny čas. Tolerancia hodín v rozsahu od 0 do 3600 sekúnd rozširuje obe kontroly, aby zohľadnila rozdiely medzi hodinami serverov. Ak sú prítomné nároky, ktoré nemajú číselnú hodnotu, token je neplatný.

### Čo znamená neplatný podpis?

Token nebol podpísaný zadaným kľúčom alebo sa po podpísaní zmenila jeho hlavička či obsah. Skontrolujte, či ste vložili zodpovedajúci verejný kľúč alebo tajomstvo vrátane všetkých presných znakov a či ste skopírovali celý token. Dekódovaná hlavička a obsah sa stále zobrazujú, takže ich môžete porovnať.

### Ktoré algoritmy sú podporované?

HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512 a EdDSA s kľúčmi Ed25519. Kľúče RSA musia mať aspoň 2048 bitov. Šifrované tokeny (JWE) sa nedekódujú.

### Ukladá sa token alebo kľúč?

Nie. Token a kľúč sa používajú iba pri tomto overovaní v pamäti a nikdy sa nezaznamenávajú ani neukladajú. Verejný kľúč možno bezpečne zdieľať, s tajomstvami HMAC však zaobchádzajte opatrne a každé tajomstvo, o ktorom si myslíte, že uniklo, vymeňte.

### Aká môže byť maximálna veľkosť tokenu a kľúča?

Token môže mať až 65,536 znakov a pole kľúča až 262,144 znakov, čo stačí aj pre veľké dokumenty JWKS. Token musí mať tri časti base64url oddelené bodkami, hlavičku JSON s členom alg a objekt JSON ako svoj obsah.

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)
