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

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

JWT (JSON Web Token) — это компактный способ безопасной передачи данных между сторонами в виде JSON-объекта. **Как работает:** 1. **Создание токена**: Сервер генерирует токен после успешной аутентификации (логин/пароль). Токен состоит из 3 частей: - **Header** (алгоритм шифрования) - **Payload** (данные пользователя, например, `user_id`, `exp` — срок действия) - **Signature** (подпись, защищающая от подделки) 2. **Передача клиенту**: Сервер отправляет JWT клиенту (обычно в `response` или `localStorage`). 3. **Использование**: Клиент прикрепляет токен к заголовку `Authorization: Bearer ` при каждом запросе. 4. **Верификация**: Сервер проверяет подпись и срок действия токена перед обработкой запроса. **Пример кода (Node.js + Express):** ```javascript // Генерация токена const token = jwt.sign({ userId: 123 }, 'secret_key', { expiresIn: '1h' }); // Проверка токена в middleware app.get('/protected', (req, res) => { const token = req.headers.authorization?.split(' ')[1]; try { const decoded = jwt.verify(token, 'secret_key'); res.json({ access: true, userId: decoded.userId }); } catch (err) { res.status(401).json({ error: 'Invalid token' }); } }); ``` **Плюсы**: - Stateless (не требует хранения сессии на сервере) - Подходит для микросервисов **Минусы**: - Невозможно отозвать токен до истечения срока (если не использовать blacklist) - Риск XSS-атак при хранении в `localStorage`
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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