Какой код состояния HTTP для указания имени пользователя или пароля был неправильным?

Я реализую простой модуль регистрации/входа.

При проверке учетных данных пользователей я начинаю думать, какой код состояния HTTP будет уместным, если пользователь отправляет запрос с неправильными учетными данными.

Сначала я думал, что 401 Unauthorized будет хорошим кодом состояния, но, похоже, будет лучше использовать его, когда пользователь пытается получить некоторый ресурс без авторизации.

После этого я переключился на 409 Conflict

Этот код разрешен только в ситуациях, когда ожидается, что пользователь сможет разрешить конфликт и повторно отправить запрос.

Итак, друзья, пожалуйста, дайте мне совет, какой код статуса следует использовать.

Ответ 1

Если вы используете HTTP-аутентификацию, как определено RFC 7235, 401 будет правильным (для отсутствующих или неправильных учетных данных).

В противном случае используйте 403.