Junior — Middle
Kaip galima patikrinti, ar JWT žetonas yra galiojantis ir aktyvus?
sobes.tech AI
Atsakymas iš AI
Norint patikrinti JWT žetono galiojimą ir aktyvumą, reikia atlikti keletą žingsnių:
-
Parašo patikrinimas: Naudojant slaptažodį (HMAC) arba viešąjį raktą (RSA/ECDSA), patikrinkite, ar žetono parašas yra teisingas ir nebuvo pakeistas.
-
Galiojimo laiko patikrinimas: Patikrinkite
exp(pasibaigimo laikas) irnbf(ne anksčiau) laukus, kad įsitikintumėte, jog žetonas nėra pasibaigęs ir jau aktyvus. -
Kitų teiginių (claims) patikrinimas: Pavyzdžiui,
iss(išdavėjas),aud(tikslo grupė) — įsitikinkite, kad žetonas skirtas jūsų programai.
Python pavyzdys naudojant PyJWT biblioteką:
import jwt
from jwt import ExpiredSignatureError, InvalidTokenError
slaptas = 'jūsų-slaptas- raktas'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'
try:
payload = jwt.decode(token, slaptas, algorithms=['HS256'], audience='jūsų-tikslas')
# Žetonas galioja ir yra aktyvus
print('Payload:', payload)
except ExpiredSignatureError:
print('Žetonas pasibaigė')
except InvalidTokenError:
print('Neteisingas žetonas')
Šiuo būdu, JWT galiojimas nustatomas tikrinant parašą ir galiojimo laiką, o aktyvumas — atitiktimi dabartiniems laiko apribojimams.