Kā pārbaudīt, vai JWT tokens ir derīgs un aktīvs?
sobes.tech AI
Atbilde no AI
Lai pārbaudītu JWT tokena derīgumu un aktivitāti, ir jāveic vairāki soļi:
-
Paraksta pārbaude: Izmantojot slepeno atslēgu (HMAC) vai publisko atslēgu (RSA/ECDSA), pārbaudiet, vai tokena paraksts ir pareizs un nav mainīts.
-
Derīguma termiņa pārbaude: Pārbaudiet laukus
exp(derīguma beigu laiks) unnbf(ne pirms), lai pārliecinātos, ka tokena derīguma termiņš nav beidzies un tas jau ir aktīvs. -
Citu apgalvojumu (claims) pārbaude: Piemēram,
iss(izdevējs),aud(mērķauditorija) — lai pārliecinātos, ka tokena ir paredzēts jūsu lietojumprogrammai.
Python piemērs, izmantojot PyJWT bibliotēku:
import jwt
from jwt import ExpiredSignatureError, InvalidTokenError
slēdzene = 'jūsu-slepenā-atslēga'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'
try:
payload = jwt.decode(token, slēdzene, algorithms=['HS256'], audience='jūsu-mērķauditorija')
# Tokens ir derīgs un aktīvs
print('Payload:', payload)
except ExpiredSignatureError:
print('Tokens ir beidzies')
except InvalidTokenError:
print('Nederīgs tokens')
Šādā veidā JWT derīgums tiek noteikts, pārbaudot parakstu un derīguma termiņus, bet aktivitāte — atbilstība pašreizējiem laika ierobežojumiem.