Junior — Middle
Kuidas saab kontrollida, kas JWT-märgis on kehtiv ja aktiivne?
sobes.tech AI
Vastus AI-lt
JWT-tõendi kehtivuse ja aktiivsuse kontrollimiseks tuleb teha mitu sammu:
-
Allkirja kontroll: Kasutades salajast võtit (HMAC jaoks) või avalikku võtit (RSA/ECDSA jaoks), kontrollige, kas tõendi allkiri on õige ja seda pole muudetud.
-
Kehtivusaja kontroll: Kontrollige välju
exp(kehtivuse lõpp) janbf(mitte enne), et veenduda, et tõend pole aegunud ja on juba aktiivne. -
Muude väidete (claims) kontroll: Näiteks
iss(väljastaja),aud(sihtgrupp) — veendumaks, et tõend on mõeldud teie rakendusele.
Pythonis kasutades raamatukogu PyJWT:
import jwt
from jwt import ExpiredSignatureError, InvalidTokenError
saladus = 'teie-saladus'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'
try:
payload = jwt.decode(token, saladus, algorithms=['HS256'], audience='teie-sihtgrupp')
# Tõend on kehtiv ja aktiivne
print('Payload:', payload)
except ExpiredSignatureError:
print('Tõend on aegunud')
except InvalidTokenError:
print('Vigane tõend')
Selle meetodiga määratakse JWT kehtivus allkirja ja kehtivusaja kontrolli kaudu, ning aktiivsus — vastavusega praegustele ajapiirangutele.