Sobes.tech
Junior — Middle
84

Quelles méthodes le Backend utilise-t-il pour vérifier la falsification des jetons JWT?

Entreprises à qui on a demandé
VKVK

Réponse de l'IA

sobes.tech IA

Backend проверяет подлинность JWT-токена следующими способами:

  1. Проверка подписи токена — сервер использует секретный ключ (для HMAC) или публичный ключ (для RSA/ECDSA) для проверки цифровой подписи токена. Если подпись не совпадает, токен подделан.

  2. Проверка срока действия (exp) — сервер проверяет, не истёк ли срок действия токена.

  3. Проверка других стандартных полей (claims) — например, issuer (iss), audience (aud), чтобы убедиться, что токен выдан доверенным источником и предназначен для данного сервиса.

Пример проверки JWT на Python с библиотекой PyJWT:

import jwt
from jwt import InvalidTokenError

SECRET_KEY = 'your-secret-key'

def verify_jwt(token):
    try:
        payload = jwt.decode(token, SECRET_KEY, algorithms=['HS256'], options={"verify_exp": True})
        # Дополнительные проверки payload['iss'], payload['aud'] при необходимости
        return payload
    except InvalidTokenError:
        return None

Если decode прошёл успешно, токен считается подлинным и не подделанным.