Вопрос на собеседовании · Fullstack-разработчик

Чем аутентификация отличается от авторизации и как их реализовать?

Короткий ответ, ключевые тезисы и ошибки, которых стоит избежать на интервью.

Обновлено 19 августа 2026 г.Встречается почти всегда
Fullstack-разработчикПрофессии и разделы
Короткий ответ

Аутентификация отвечает на вопрос «кто пользователь», авторизация — «может ли он выполнить это действие над этим объектом». UI может скрыть кнопку, но сервер обязан проверять право для каждого запроса с учётом пользователя, роли, tenant и владельца ресурса.

Сессия или токен выбираются по архитектуре, но в обоих случаях нужны короткий срок жизни, безопасное хранение, отзыв/ротация и защита от типичных веб-угроз. HttpOnly secure cookie снижает риск кражи через XSS, но требует CSRF-защиты; bearer token нельзя публиковать в логах и URL.

01 · Структура ответа

Что важно сказать интервьюеру

Начните с определения, затем объясните механизм и закончите примером из практики. Для полного ответа раскройте эти тезисы:

Authentication и authorization — разные проверки.
Контроль доступа выполняется на сервере.
Права проверяют для конкретного ресурса.
Токены и сессии имеют срок жизни и отзыв.

02 · Пример

Как объяснить на практике

GET /projects/42 сначала идентифицирует пользователя, затем проверяет, что он состоит в tenant проекта и имеет требуемое действие. Попытка подставить ID чужого проекта получает 404 или 403 по политике, независимо от того, что frontend не показывает ссылку.

Не заучивайте формулировку дословно. Свяжите принцип с задачей из собственного проекта — интервьюер почти наверняка попросит уточнить детали реализации и компромиссы.

03 · Ошибки

Чего избегать в ответе

Доверять роли, присланной из UI.
Хранить долгоживущий токен в небезопасном месте.
Проверять только роль и забывать ownership/tenant.

04 · Углубление

Что могут спросить следом

  1. JWT или session cookie?
  2. Как реализовать logout?
  3. Что такое IDOR?

Практика ответа

Ответьте вслух, а не про себя

Откроем тренировку сразу на этом вопросе. Выберите грейд, сформулируйте ответ и сравните его с подсказкой.

Потренировать ответ