Встречается на собеседованиях • сегодня

Как реализовать безопасную авторизацию

Для безопасной авторизации используйте HTTPS, JWT с коротким временем жизни (accessToken) и refreshToken для его обновления. Храните токены в httpOnly куках (без доступа из JS) с флагами Secure и SameSite. Пример:

javascript
// Серверная часть (Node.js + Express)
app.post('/login', (req, res) => {
  const user = authenticate(req.body);
  const accessToken = jwt.sign({ userId: user.id }, SECRET, { expiresIn: '15m' });
  const refreshToken = jwt.sign({ userId: user.id }, REFRESH_SECRET, { expiresIn: '7d' });
  
  res.cookie('token', accessToken, {
    httpOnly: true,
    secure: true,
    sameSite: 'strict',
    maxAge: 900000 // 15 минут
  });
  
  // Refresh token храним в БД
  saveRefreshToken(user.id, refreshToken);
  res.sendStatus(200);
});

Клиентская часть автоматически отправляет куки с каждым запросом. Для защиты от CSRF используйте CSRF-токены в заголовках. Регулярно обновляйте секретные ключи и проводите аудит безопасности.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы