Назад к вопросам
Senior
6
Какие методы аутентификации/авторизации вы используете в текущем проекте?
Компании, где спрашивали
Zuru Tech
Ответ от нейросети
sobes.tech AI
В текущем проекте для аутентификации и авторизации используются следующие методы:
- JWT (JSON Web Tokens): для stateless аутентификации. После успешного входа пользователь получает токен, который передаётся в заголовках запросов для проверки прав.
- OAuth 2.0: для интеграции с внешними сервисами и соцсетями, позволяя пользователям входить через Google, Facebook и другие.
- Роль- и разрешение-ориентированная авторизация (RBAC): на основе ролей пользователя определяются доступные действия и ресурсы.
- Хранение паролей: с использованием bcrypt для безопасного хеширования.
Пример проверки JWT в Express.js:
const jwt = require('jsonwebtoken');
function authMiddleware(req, res, next) {
const token = req.headers['authorization']?.split(' ')[1];
if (!token) return res.status(401).send('Access denied');
try {
const decoded = jwt.verify(token, process.env.JWT_SECRET);
req.user = decoded;
next();
} catch (err) {
res.status(400).send('Invalid token');
}
}
Такой подход обеспечивает безопасность и гибкость в управлении доступом пользователей.