Вопрос проверяет понимание механизмов аутентификации и авторизации в REST API, а также умение работать с токенами и сессиями.
REST API является stateless (без состояния), поэтому сервер не хранит информацию о сессиях клиентов. Для определения авторизации используется механизм токенов. Наиболее распространенный подход — JWT (JSON Web Token). После успешной аутентификации (например, по логину и паролю) сервер создает токен, содержащий данные пользователя и срок действия. Токен подписывается секретным ключом, чтобы предотвратить подделку.
Authorization: Bearer <token>.const jwt = require('jsonwebtoken');
function authenticateToken(req, res, next) {
const authHeader = req.headers['authorization'];
const token = authHeader && authHeader.split(' ')[1]; // Bearer TOKEN
if (!token) return res.sendStatus(401);
jwt.verify(token, process.env.SECRET_KEY, (err, user) => {
if (err) return res.sendStatus(403);
req.user = user;
next();
});
}
app.get('/profile', authenticateToken, (req, res) => {
res.json({ message: 'Доступ разрешен', user: req.user });
});Использование токенов (например, JWT) — стандартный способ определения авторизации в REST API. Это обеспечивает безопасность, масштабируемость и простоту реализации. Подходит для большинства современных веб-приложений и микросервисов.
Уровень
Рейтинг:
5
Сложность:
4
Навыки
JavaScript
Node.js
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию