Sobes.tech
Назад к вопросам
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');
  }
}

Такой подход обеспечивает безопасность и гибкость в управлении доступом пользователей.