Аутентификация (authn) устанавливает личность вызывающего пользователя — проверка пароля, подтвержденная подпись токена, клиентский сертификат. Авторизация (authz) принимает эту личность и решает, разрешено ли данное действие с данным ресурсом. Каждый защищенный запрос проходит через обе системы, именно в таком порядке.
HTTP выдает каждый из этих кодов свою ошибку: 401 Unauthorized означает, что аутентификация отсутствует или не удалась, поэтому клиенту следует получить или обновить учетные данные; 403 Forbidden означает, что вызывающая сторона известна, но ответ по-прежнему отрицательный, поэтому повторная попытка с тем же идентификатором бессмысленна. Роли, области действия и владение ресурсами — все это входные данные для авторизации.
Коды 401 и 403 взаимозаменяемы. Названия вводят в заблуждение — 401 на самом деле означает "unauthenticated" , — но это различие влияет на поведение клиента: клиент, который отправляет пользователя обратно на страницу входа с кодом 403, заставляет его пройти через процедуру входа, которая ничем не поможет.
Используйте qa-viewer-token при любом удалении (DELETE) в каталоге, чтобы получить ошибку 403 от известного, но недостаточно привилегированного абонента, и не отправляйте токен вообще, чтобы получить ошибку 401 — одна и та же конечная точка, две разные ошибки.
Все термины · Приёмы тестирования · Все 39 mock REST API
Последнее обновление