Что такое JWT-токен

«Что такое JWT-токен» — вопрос из категории Безопасность, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

JWT (JSON Web Token) — это стандарт (RFC 7519) для создания токенов доступа в формате JSON. Он состоит из трех частей, разделенных точками:

  1. Header — содержит алгоритм шифрования и тип токена (обычно HS256 или RS256).
  2. Payload — полезные данные (например, user_id, exp — срок действия).
  3. Signature — подпись, которая проверяет целостность токена.

Пример структуры:

// Header
{
  "alg": "HS256",
  "typ": "JWT"
}

// Payload
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

Пример кода на Node.js для создания JWT:

const jwt = require('jsonwebtoken');
const token = jwt.sign(
  { userId: 123 }, 
  'secret_key', 
  { expiresIn: '1h' }
);

Используется для аутентификации и передачи данных между клиентом и сервером. Главные плюсы: компактность, самодостаточность (все данные внутри токена) и поддержка подписи/шифрования.