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:
-
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.
-
Lejárati idő ellenőrzése: Ellenőrizze az
exp(lejárati idő) ésnbf(nem előtt) mezőket, hogy megbizonyosodjon arról, hogy a token nem járt le, és már aktív. -
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.