Sobes.tech
Junior — Middle

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:

  1. 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.

  2. Controleer de vervaltijd: Controleer de velden exp (verlooptijd) en nbf (niet eerder dan), om zeker te zijn dat het token niet is verlopen en al actief is.

  3. 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.