Sobes.tech
Junior — Middle

Cum puteți verifica dacă un token JWT este cu adevărat valid și activ?

sobes.tech AI

Răspuns de la AI

Pentru a verifica validitatea și activitatea unui token JWT, trebuie să urmați câțiva pași:

  1. Verificarea semnăturii: Utilizând cheia secretă (pentru HMAC) sau cheia publică (pentru RSA/ECDSA), verificați dacă semnătura tokenului este corectă și nu a fost modificată.

  2. Verificarea termenului de valabilitate: Verificați câmpurile exp (timpul de expirare) și nbf (nu înainte de), pentru a vă asigura că tokenul nu a expirat și este deja activ.

  3. Verificarea altor afirmații (claims): De exemplu, iss (emitent), aud (audiență) — pentru a vă asigura că tokenul este destinat aplicației dvs.

Exemplu în Python folosind biblioteca PyJWT:

import jwt
from jwt import ExpiredSignatureError, InvalidTokenError

secret = 'cheia-ta-secretă'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'

try:
    payload = jwt.decode(token, secret, algorithms=['HS256'], audience='audiența-ta')
    # Tokenul este valid și activ
    print('Payload:', payload)
except ExpiredSignatureError:
    print('Tokenul a expirat')
except InvalidTokenError:
    print('Token invalid')

Astfel, validitatea JWT este determinată prin verificarea semnăturii și a termenelor de valabilitate, iar activitatea — prin conformitatea cu limitele temporale actuale ale tokenului.