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

Как работает авторизация через JWT

JWT (JSON Web Token) — это стандарт для создания токенов доступа, основанный на JSON. Он состоит из трех частей, разделенных точками: заголовка (header), полезной нагрузки (payload) и подписи (signature). 1. **Header** — содержит тип токена (JWT) и алгоритм шифрования (например, HS256). 2. **Payload** — хранит данные пользователя (например, userID, роль) и метаданные (exp — срок действия). 3. **Signature** — создается путем кодирования header и payload с секретным ключом, что гарантирует целостность токена. **Как работает:** - Пользователь логинится, сервер проверяет данные и генерирует JWT. - Токен отправляется клиенту (обычно в куках или localStorage). - Клиент прикрепляет токен к заголовку `Authorization: Bearer ` при запросах. - Сервер проверяет подпись и валидность токена перед обработкой запроса. ```javascript // Пример проверки токена на сервере (Node.js + express) const jwt = require('jsonwebtoken'); app.get('/protected', (req, res) => { const token = req.headers.authorization?.split(' ')[1]; try { const decoded = jwt.verify(token, 'SECRET_KEY'); res.json({ userId: decoded.userId }); } catch (err) { res.status(401).send('Invalid token'); } }); ``` **Плюсы:** - Stateless (не требует хранения сессий на сервере). - Легко масштабируется. **Минусы:** - Токен нельзя отозвать (только через черный список или короткий срок жизни). - Безопасность зависит от хранения на клиенте.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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