Что такое JWT и из каких частей состоит токен?

JWT расшифровывается как JSON Web Token — стандарт передачи данных Это самостоятельный, компактный и защищённый токен с подписью Токен включает три части, разделённые точками: Header: указывает тип токена и алгоритм…

Короткий ответ

Что ответить на собеседовании

JWT расшифровывается как JSON Web Token — стандарт передачи данных Это самостоятельный, компактный и защищённый токен с подписью Токен включает три части, разделённые точками: Header: указывает тип токена и алгоритм подписи, обычно HS256 Payload: содержит утверждения (claims) — сведения о пользователе или контексте Signature: хэш, рассчитанный по header, payload и секрету для проверки подлинности JWT применяется для аутентификации и авторизации в веб-приложениях С его помощью можно без серверной сессии проверять права пользователя На стороне клиента токен обычно сохраняется в localStorage или cookie При использовании HTTPS данные…

Подробный разбор

Ответ с пояснениями

Что такое JWT и из каких частей состоит токен?

  • JWT расшифровывается как JSON Web Token — стандарт передачи данных
  • Это самостоятельный, компактный и защищённый токен с подписью
  • Токен включает три части, разделённые точками:
  • Header: указывает тип токена и алгоритм подписи, обычно HS256
  • Payload: содержит утверждения (claims) — сведения о пользователе или контексте
  • Signature: хэш, рассчитанный по header, payload и секрету для проверки подлинности
  • JWT применяется для аутентификации и авторизации в веб-приложениях
  • С его помощью можно без серверной сессии проверять права пользователя
  • На стороне клиента токен обычно сохраняется в localStorage или cookie
  • При использовании HTTPS данные передаются с обеспечением необходимого уровня безопасности

Итак, JWT = Header + Payload + Signature: такой формат обеспечивает безопасный обмен данными с проверкой их подлинности.

Подробный ответ

Основной ответ

JWT (JSON Web Token) представляет собой компактный URL-безопасный формат токена для передачи информации между участниками в виде JSON-объекта. Его широко используют при аутентификации и авторизации в веб-приложениях: данные можно проверять по подписи без постоянного обращения к серверу.

Ключевые моменты

  • Структура JWT включает три разделённых точками элемента: Header (заголовок), Payload (полезная нагрузка), Signature (подпись).
  • В Header указываются тип токена и алгоритм, применяемый для подписи, например HS256 — HMAC SHA-256.
  • Payload содержит полезную нагрузку: стандартные поля (claims), такие как iss (issuer) и exp (expiration), а также пользовательские сведения, например ID пользователя.
  • Signature вычисляется на основе закодированных Header и Payload, а также секретного ключа либо публичного и приватного ключей при использовании асимметричных алгоритмов.
  • По подписи сервер проверяет целостность и подлинность токена, при этом ему не требуется хранить состояние, что соответствует модели stateless authentication.

Практический контекст

Например, в проектах на Node.js с Express и библиотеке jsonwebtoken (v8+) JWT обычно создают после входа пользователя. Затем клиент сохраняет токен в localStorage или cookie и передаёт его в заголовке Authorization. Проверка подписи и срока действия при каждом запросе обеспечивает безопасность без хранения сессий на сервере.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку