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