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