Junior — Middle
JWT tokeninin həqiqətən etibarlı və aktiv olub olmadığını necə yoxlamaq olar?
sobes.tech Süni İntellekt
AI-dan cavab
JWT tokeninin etibarlılığını və fəaliyyətini yoxlamaq üçün bir neçə addım yerinə yetirilməlidir:
-
İmza yoxlaması: Gizli açar (HMAC üçün) və ya açıq açar (RSA/ECDSA üçün) istifadə edərək, tokenin imzasının düzgün olduğunu və dəyişdirilmədiyini yoxlayın.
-
Bitmə vaxtının yoxlanması:
exp(bitmə vaxtı) vənbf(əvvəlki vaxt) sahələrini yoxlayın ki, token vaxtı keçməyib və artıq aktivdir. -
Digər iddiaların (claims) yoxlanması: Məsələn,
iss(verən),aud(auditoriya) — tokenin sizin tətbiqiniz üçün nəzərdə tutulduğundan əmin olun.
Python-da PyJWT kitabxanası ilə nümunə:
import jwt
from jwt import ExpiredSignatureError, InvalidTokenError
gizli = 'sizin-gizli-anahtarınız'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'
try:
payload = jwt.decode(token, gizli, algorithms=['HS256'], audience='sizin-auditoriyanız')
# Token etibarlı və aktivdir
print('Yük:', payload)
except ExpiredSignatureError:
print('Token vaxtı keçib')
except InvalidTokenError:
print('Yanlış token')
Bu şəkildə, JWT-nin etibarlılığı imza və müddət yoxlamaları ilə müəyyən edilir, və fəaliyyət — tokenin cari vaxt limitlərinə uyğunluğu ilə təyin olunur.