Встречается на собеседованиях • сегодня
Как работает 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`

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы