Встречается на собеседованиях • сегодня
Как работает авторизация через 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 (не требует хранения сессий на сервере).
- Легко масштабируется.
**Минусы:**
- Токен нельзя отозвать (только через черный список или короткий срок жизни).
- Безопасность зависит от хранения на клиенте.

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