Sobes.tech
Junior — Middle

Jak lze ověřit, zda je JWT token platný a aktivní?

sobes.tech AI

Odpověď od AI

Pro kontrolu platnosti a aktivity JWT tokenu je třeba provést několik kroků:

  1. Ověření podpisu: Pomocí tajného klíče (pro HMAC) nebo veřejného klíče (pro RSA/ECDSA) ověřte, že podpis tokenu je správný a nebyl změněn.

  2. Ověření doby platnosti: Zkontrolujte pole exp (doba expirace) a nbf (ne před), abyste se ujistili, že token nevypršel a je již aktivní.

  3. Ověření dalších tvrzení (claims): Například iss (vydavatel), aud (cílová skupina) — abyste se ujistili, že token je určen pro vaši aplikaci.

Příklad v Pythonu s knihovnou PyJWT:

import jwt
from jwt import ExpiredSignatureError, InvalidTokenError

tajny = 'vas-tajny-klic'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'

try:
    payload = jwt.decode(token, tajny, algorithms=['HS256'], audience='vas-cilovy-uzivatel')
    # Token je platný a aktivní
    print('Payload:', payload)
except ExpiredSignatureError:
    print('Token vypršel')
except InvalidTokenError:
    print('Neplatný token')

Tímto způsobem je platnost JWT určena kontrolou podpisu a časových omezení, zatímco aktivita je určena shodou s aktuálními časovými limity tokenu.