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:
-
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ă.
-
Verificarea termenului de valabilitate: Verificați câmpurile
exp(timpul de expirare) șinbf(nu înainte de), pentru a vă asigura că tokenul nu a expirat și este deja activ. -
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.