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

Расскажи про авторизацию на сессии

Авторизация на сессии (session-based authentication) - это механизм, при котором сервер создает уникальный идентификатор (session ID) после успешного входа пользователя. Этот ID хранится на сервере и отправляется клиенту (обычно в cookie).

Как это работает:

  1. Пользователь вводит логин/пароль
  2. Сервер проверяет данные, создает сессию и хранит её в БД/памяти
  3. Сервер отправляет session ID в cookie (обычно HttpOnly, Secure)
  4. Браузер автоматически прикрепляет cookie к последующим запросам
  5. Сервер проверяет session ID для аутентификации
javascript
// Пример на Express.js
app.post('/login', (req, res) => {
  const { username, password } = req.body;
  if (validateUser(username, password)) {
    req.session.userId = getUserId(username); // Сохраняем ID в сессии
    res.send('Logged in');
  }
});

app.get('/profile', (req, res) => {
  if (!req.session.userId) return res.status(401).send('Unauthorized');
  // Доступ к защищенным данным
});

Особенности:

  • Stateful (сервер хранит состояние)
  • Уязвим к CSRF (нужны токены)
  • Зависит от cookie (проблемы с CORS)
  • Легко реализуется, но требует хранения сессий на сервере
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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