Sobes.tech
Junior — Middle

JWT-токеннинг ҳақиқий ва фаол эканлигини қандай текшириш мумкин?

sobes.tech AI

AIdan javob

JWT tokenining haqiqiyligini va faoliyatini tekshirish uchun bir nechta bosqichlarni bajarish kerak:

  1. Imzo tekshiruvi: Maxfiy kalit (HMAC uchun) yoki jamoat kaliti (RSA/ECDSA uchun) yordamida token imzosining to'g'riligi va o'zgartirilmaganligini tekshiring.

  2. Muddati tugashini tekshirish: exp (tugash vaqti) va nbf (oldinroq emas) maydonlarini tekshirib, token muddati o'tmagan va hozir faol ekanligiga ishonch hosil qiling.

  3. Boshqa da'volar (claims) tekshiruvi: Masalan, iss (chiqaruvchi), aud (auditoriya) — token sizning ilovangiz uchun mo'ljallanganligini ta'minlash uchun.

Python'da PyJWT kutubxonasi yordamida misol:

import jwt
from jwt import ExpiredSignatureError, InvalidTokenError

maxfiy = 'sizning-maxfiy- kalit'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'

try:
    payload = jwt.decode(token, maxfiy, algorithms=['HS256'], audience='sizning-auditoriya')
    # Token haqiqiy va faol
    print('Yuk:', payload)
except ExpiredSignatureError:
    print('Token muddati o'tgan')
except InvalidTokenError:
    print('Noto'g'ri token')

Shu tarzda, JWT ning haqiqiyligi imzo va muddati tekshirilganidan so'ng aniqlanadi, va faoliyat — tokenning hozirgi vaqt chegaralariga mos kelishi bilan belgilanadi.