Sobes.tech
Junior — Middle

Kaip galima patikrinti, ar JWT žetonas yra galiojantis ir aktyvus?

sobes.tech AI

Atsakymas iš AI

Norint patikrinti JWT žetono galiojimą ir aktyvumą, reikia atlikti keletą žingsnių:

  1. Parašo patikrinimas: Naudojant slaptažodį (HMAC) arba viešąjį raktą (RSA/ECDSA), patikrinkite, ar žetono parašas yra teisingas ir nebuvo pakeistas.

  2. Galiojimo laiko patikrinimas: Patikrinkite exp (pasibaigimo laikas) ir nbf (ne anksčiau) laukus, kad įsitikintumėte, jog žetonas nėra pasibaigęs ir jau aktyvus.

  3. Kitų teiginių (claims) patikrinimas: Pavyzdžiui, iss (išdavėjas), aud (tikslo grupė) — įsitikinkite, kad žetonas skirtas jūsų programai.

Python pavyzdys naudojant PyJWT biblioteką:

import jwt
from jwt import ExpiredSignatureError, InvalidTokenError

slaptas = 'jūsų-slaptas- raktas'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'

try:
    payload = jwt.decode(token, slaptas, algorithms=['HS256'], audience='jūsų-tikslas')
    # Žetonas galioja ir yra aktyvus
    print('Payload:', payload)
except ExpiredSignatureError:
    print('Žetonas pasibaigė')
except InvalidTokenError:
    print('Neteisingas žetonas')

Šiuo būdu, JWT galiojimas nustatomas tikrinant parašą ir galiojimo laiką, o aktyvumas — atitiktimi dabartiniems laiko apribojimams.