Junior — Middle
როგორ შემიძლია დავრწმუნდე, რომ 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-ის ვალიდურობა განსაზღვრება ხელმოწერის და ვადის შემოწმებით, ხოლო აქტივობა — მიმდინარე დროის შეზღუდვებთან შესაბამისობით.