Встречается на собеседованиях • сегодня

Что такое JWT

JWT (JSON Web Token) — это компактный и самодостаточный способ передачи информации между сторонами в виде JSON-объекта. Он состоит из трех частей, разделенных точками: 1. **Header** — содержит тип токена и алгоритм шифрования (например, HMAC SHA256). 2. **Payload** — данные (например, user ID, роли, срок действия). 3. **Signature** — подпись для проверки подлинности токена. Пример структуры: ```json // Header { "alg": "HS256", "typ": "JWT" } // Payload { "sub": "1234567890", "name": "John Doe", "iat": 1516239022 } ``` Используется для аутентификации и обмена данными. После успешного входа сервер генерирует JWT и отправляет клиенту. Клиент сохраняет токен (например, в localStorage) и отправляет его в заголовке `Authorization: Bearer ` при последующих запросах. **Плюсы**: - Не требует хранения состояния на сервере (stateless). - Можно подписать (JWS) или зашифровать (JWE). **Минусы**: - Если токен украден, злоумышленник может им воспользоваться (нужны короткие сроки жизни + refresh-токены). - Размер больше, чем у session ID. Пример кода для создания/верификации (Node.js + библиотека `jsonwebtoken`): ```javascript const jwt = require('jsonwebtoken'); const token = jwt.sign({ userId: 123 }, 'secret-key', { expiresIn: '1h' }); const decoded = jwt.verify(token, 'secret-key'); // throws error if invalid ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы