Hoe kunt u controleren of een JWT-token daadwerkelijk geldig en actief is?
sobes.tech AI
Antwoord van AI
Om de geldigheid en activiteit van een JWT-token te controleren, moeten verschillende stappen worden uitgevoerd:
-
Handtekeningcontrole: Gebruik de geheime sleutel (voor HMAC) of de openbare sleutel (voor RSA/ECDSA) om te controleren of de handtekening van het token correct is en niet is gewijzigd.
-
Controleer de vervaltijd: Controleer de velden
exp(verlooptijd) ennbf(niet eerder dan), om zeker te zijn dat het token niet is verlopen en al actief is. -
Controleer andere claims: Bijvoorbeeld
iss(uitgever),aud(doelgroep) — om te bevestigen dat het token voor jouw toepassing bedoeld is.
Voorbeeld in Python met de PyJWT-bibliotheek:
import jwt
from jwt import ExpiredSignatureError, InvalidTokenError
geheim = 'je-geheime-sleutel'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'
try:
payload = jwt.decode(token, geheim, algorithms=['HS256'], audience='jouw-doelgroep')
# Het token is geldig en actief
print('Payload:', payload)
except ExpiredSignatureError:
print('Token is verlopen')
except InvalidTokenError:
print('Ongeldig token')
Op deze manier wordt de geldigheid van JWT bepaald door de controle van de handtekening en de vervaltijden, en de activiteit door de conformiteit met de huidige tijdslimieten van het token.