Junior — Middle
Чӣ гуна метавон аниқ кард, ки JWT-токен дуруст ва фаъол аст?
sobes.tech AI
Ҷавоб аз AI
Барои санҷиши дурустии ва фаъолиятии JWT-токен чанд қадам бояд иҷро шаванд:
-
Тасдиқи имзо: Бо истифода аз калиди сирӣ (барои HMAC) ё калиди умумӣ (барои RSA/ECDSA), санҷед, ки имзои токен дуруст аст ва тағир наёфтааст.
-
Тасдиқи мӯҳлати анҷом: Полеҳои
exp(вақти анҷом) ваnbf(на пеш аз) -ро санҷед, то боварӣ ҳосил кунед, ки токен тамом нашудааст ва аллакай фаъол аст. -
Тасдиқи дигар даъвоҳо (claims): Масалан,
iss(муҳррир),aud(тамос) — то боварӣ ҳосил кунед, ки токен барои барномаатон пешбинӣ шудааст.
Масалан дар Python бо истифода аз китобхонаи PyJWT:
import jwt
from jwt import ExpiredSignatureError, InvalidTokenError
асрор = 'калиди-асрории-шумо'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'
try:
payload = jwt.decode(token, асрор, algorithms=['HS256'], audience='тамоси-шумо')
# Токен дуруст ва фаъол аст
print('Payload:', payload)
except ExpiredSignatureError:
print('Токен тамом шуд')
except InvalidTokenError:
print('Токени нодуруст')
Тавре ки мебинед, дурустии JWT бо санҷиши имзо ва мӯҳлати истифода муайян карда мешавад, ва фаъолият — бо мувофиқат бо маҳдудиятҳои вақти ҳозираии токен.