Sobes.tech
Junior — Middle

Чӣ гуна метавон аниқ кард, ки JWT-токен дуруст ва фаъол аст?

sobes.tech AI

Ҷавоб аз AI

Барои санҷиши дурустии ва фаъолиятии JWT-токен чанд қадам бояд иҷро шаванд:

  1. Тасдиқи имзо: Бо истифода аз калиди сирӣ (барои HMAC) ё калиди умумӣ (барои RSA/ECDSA), санҷед, ки имзои токен дуруст аст ва тағир наёфтааст.

  2. Тасдиқи мӯҳлати анҷом: Полеҳои exp (вақти анҷом) ва nbf (на пеш аз) -ро санҷед, то боварӣ ҳосил кунед, ки токен тамом нашудааст ва аллакай фаъол аст.

  3. Тасдиқи дигар даъвоҳо (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 бо санҷиши имзо ва мӯҳлати истифода муайян карда мешавад, ва фаъолият — бо мувофиқат бо маҳдудиятҳои вақти ҳозираии токен.