Sobes.tech
Junior — Middle

Hogyan lehet ellenőrizni, hogy egy JWT token valóban érvényes és aktív-e?

sobes.tech MI

Válasz az MI-től

A JWT token érvényességének és aktivitásának ellenőrzéséhez több lépést kell végrehajtani:

  1. Aláírás ellenőrzése: A titkos kulcs (HMAC esetén) vagy a nyilvános kulcs (RSA/ECDSA esetén) segítségével ellenőrizze, hogy a token aláírása helyes-e, és nem módosították-e.

  2. Lejárati idő ellenőrzése: Ellenőrizze az exp (lejárati idő) és nbf (nem előtt) mezőket, hogy megbizonyosodjon arról, hogy a token nem járt le, és már aktív.

  3. Más állítások (claims) ellenőrzése: Például, iss (kiadó), aud (célközönség) — hogy megbizonyosodjon arról, hogy a token az Ön alkalmazásának szól.

Python példakód a PyJWT könyvtár használatával:

import jwt
from jwt import ExpiredSignatureError, InvalidTokenError

titkos = 'az-ön- titkos-kulcsa'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'

try:
    payload = jwt.decode(token, titkos, algorithms=['HS256'], audience='az-ön-célközönsége')
    # A token érvényes és aktív
    print('Payload:', payload)
except ExpiredSignatureError:
    print('A token lejárt')
except InvalidTokenError:
    print('Érvénytelen token')

Ezzel a módszerrel a JWT érvényességét az aláírás és a lejárati idő ellenőrzésével határozzuk meg, az aktivitást pedig a token aktuális időkorlátoknak való megfelelésével.