Получить доступ

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

JuniorТестирование API
Ещё спрашивают так:
  • Что такое идентификация, аутентификация и авторизация?
  • Как тестировать права доступа?
  • Что такое токен доступа?
Коротко

Идентификация — кто вы (логин), аутентификация — докажите это (пароль, код), авторизация — что вам разрешено делать.

  • Нет аутентификации → 401, нет прав → 403
  • Тестируем роли: каждый видит и делает только своё, в том числе через прямые ссылки и API

А ещё Самый частый серьёзный баг — доступ к чужим данным подменой id в запросе

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Три шага при входе:

  1. Идентификация — пользователь называет себя: логин, email, телефон.
  2. Аутентификация — подтверждает, что это он: пароль, код из SMS, биометрия; двухфакторная — два разных способа.
  3. Авторизация — система решает, к чему у него есть доступ: роли (пользователь, модератор, администратор) и права на конкретные объекты.

После входа сервер выдаёт сессию (идентификатор в cookie) или токен (часто JWT), который клиент передаёт в каждом запросе, обычно в заголовке Authorization: Bearer ....

Что тестировать:

  • вход с верными и неверными данными, блокировка после нескольких ошибок, восстановление пароля;
  • истечение сессии или токена, выход из аккаунта;
  • права по ролям — обычный пользователь не открывает админку ни через интерфейс, ни по прямой ссылке, ни через API;
  • доступ к чужим объектам — подменить id заказа в URL или запросе: должно быть 403 или 404, а не чужие данные;
  • скрытая кнопка в интерфейсе — не защита, проверять нужно сервер.

Что хотят услышать

  • Чёткое разделение трёх понятий.
  • Связь с кодами 401 и 403.
  • Проверки ролей и доступа к чужим данным.

Частые ошибки

  • Путать аутентификацию и авторизацию.
  • Проверять права только через интерфейс.

Что спросят дальше

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем