Comment peut-on vérifier si un jeton JWT est valide et actif?
sobes.tech IA
Réponse de l'IA
Pour vérifier la validité et l’activité d’un jeton JWT, il faut effectuer plusieurs étapes:
-
Vérification de la signature : En utilisant la clé secrète (pour HMAC) ou la clé publique (pour RSA/ECDSA), vérifier que la signature du jeton est correcte et n’a pas été modifiée.
-
Vérification de la date d’expiration : Vérifier les champs
exp(heure d’expiration) etnbf(pas avant), pour s’assurer que le jeton n’a pas expiré et est déjà actif. -
Vérification d’autres affirmations (claims) : Par exemple,
iss(émetteur),aud(audience) — pour s’assurer que le jeton est destiné à votre application.
Exemple en Python avec la bibliothèque PyJWT :
import jwt
from jwt import ExpiredSignatureError, InvalidTokenError
secret = 'votre-clé-secrète'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'
try:
payload = jwt.decode(token, secret, algorithms=['HS256'], audience='votre-audience')
# Le jeton est valide et actif
print('Payload:', payload)
except ExpiredSignatureError:
print('Le jeton a expiré')
except InvalidTokenError:
print('Jeton invalide')
Ainsi, la validité du JWT est déterminée par la vérification de la signature et des délais d’expiration, et l’activité par la conformité avec les limites de temps actuelles du jeton.