Junior — Middle
Ako môžete skontrolovať, či je JWT token skutočne platný a aktívny?
sobes.tech AI
Odpoveď od AI
Na overenie platnosti a aktivity JWT tokenu je potrebné vykonať niekoľko krokov:
-
Kontrola podpisu: Použitím tajného kľúča (pre HMAC) alebo verejného kľúča (pre RSA/ECDSA), overiť, že podpis tokenu je správny a nebol zmenený.
-
Kontrola doby platnosti: Skontrolovať polia
exp(doba vypršania platnosti) anbf(nie skôr ako), aby ste sa uistili, že token nevypršal a je už aktívny. -
Kontrola ďalších tvrdení (claims): Napríklad,
iss(vydavateľ),aud(audiencia) — aby ste sa uistili, že token je určený pre vašu aplikáciu.
Príklad v Pythone s použitím knižnice PyJWT:
import jwt
from jwt import ExpiredSignatureError, InvalidTokenError
tajny = 'váš-tajný-kľúč'
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'
try:
payload = jwt.decode(token, tajny, algorithms=['HS256'], audience='vaša-cieľová-skupina')
# Token je platný a aktívny
print('Payload:', payload)
except ExpiredSignatureError:
print('Token vypršal')
except InvalidTokenError:
print('Neplatný token')
Týmto spôsobom sa platnosť JWT určuje kontrolou podpisu a časových limitov, a aktivita — zhodou s aktuálnymi časovými obmedzeniami tokenu.