Выбор ответа Junior Аутентификация спрашивают часто обновлено

401 или 403

Вопрос

Пользователь вошёл в систему с ролью viewer и пытается удалить чужой заказ. Какой статус корректно вернуть?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 403 Forbidden: личность известна, но действие запрещено. 401 означает, что не удалось установить личность: токена нет, он просрочен или неверен.

Варианты ответа

  1. 401 Unauthorized: у этой роли нет прав на удаление заказа
  2. 400 Bad Request: запрос на чужой заказ сформирован неверно
  3. 403 Forbidden: личность известна, но действие запрещеноправильный ответ
  4. 404 Not Found обязательно, иначе это считается уязвимостью

Разбор

401 означает, что не удалось установить личность: токена нет, он просрочен или неверен. Здесь пользователь аутентифицирован, но не авторизован на действие, это 403. 400 про синтаксически неверный запрос. 404 иногда отдают, чтобы не раскрывать существование ресурса, но это осознанный выбор, а не обязательное правило.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме