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дин жарамдуулугу кол коюу жана мөөнөттөрдүн текшерүүсү аркылуу аныкталат, ал эми активдүүлүк — токендин учурдагы убакыт чектөөлөрүнө ылайык келүүсү менен аныкталат.