Senior
35
Quels méthodes d'authentification/autorisation utilisez-vous dans le projet actuel?
Entreprises à qui on a demandé
Zuru Tech
Réponse de l'IA
sobes.tech IA
В текущем проекте для аутентификации и авторизации используются следующие методы:
- 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');
}
}
Такой подход обеспечивает безопасность и гибкость в управлении доступом пользователей.