Sobes.tech
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:

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

  2. Kontrola doby platnosti: Skontrolovať polia exp (doba vypršania platnosti) a nbf (nie skôr ako), aby ste sa uistili, že token nevypršal a je už aktívny.

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