Sobes.tech
Junior — Middle

Kuidas saab kontrollida, kas JWT-märgis on kehtiv ja aktiivne?

sobes.tech AI

Vastus AI-lt

JWT-tõendi kehtivuse ja aktiivsuse kontrollimiseks tuleb teha mitu sammu:

  1. Allkirja kontroll: Kasutades salajast võtit (HMAC jaoks) või avalikku võtit (RSA/ECDSA jaoks), kontrollige, kas tõendi allkiri on õige ja seda pole muudetud.

  2. Kehtivusaja kontroll: Kontrollige välju exp (kehtivuse lõpp) ja nbf (mitte enne), et veenduda, et tõend pole aegunud ja on juba aktiivne.

  3. Muude väidete (claims) kontroll: Näiteks iss (väljastaja), aud (sihtgrupp) — veendumaks, et tõend on mõeldud teie rakendusele.

Pythonis kasutades raamatukogu PyJWT:

import jwt
from jwt import ExpiredSignatureError, InvalidTokenError

saladus = 'teie-saladus'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'

try:
    payload = jwt.decode(token, saladus, algorithms=['HS256'], audience='teie-sihtgrupp')
    # Tõend on kehtiv ja aktiivne
    print('Payload:', payload)
except ExpiredSignatureError:
    print('Tõend on aegunud')
except InvalidTokenError:
    print('Vigane tõend')

Selle meetodiga määratakse JWT kehtivus allkirja ja kehtivusaja kontrolli kaudu, ning aktiivsus — vastavusega praegustele ajapiirangutele.