Sobes.tech
Junior — Middle

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:

  1. 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.

  2. Derīguma termiņa pārbaude: Pārbaudiet laukus exp (derīguma beigu laiks) un nbf (ne pirms), lai pārliecinātos, ka tokena derīguma termiņš nav beidzies un tas jau ir aktīvs.

  3. 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.