Возвращение кода состояния http 401 при входе в систему с недействительными учетными данными
Как мне изменить приложение django
, использующее allauth
, чтобы оно возвращало ответ 401 при предоставлении недействительных учетных данных для входа в систему?
Я пытался поместить пользовательскую логику в пользовательский ModelBackend
, но не нашел способа реально изменить код статуса ответа.
Я также пытался поместить пользовательскую логику в CustomAccountAdapter.authentication_failed
, но та же проблема, и я не нашел способа изменить код состояния.
Мне удалось изменить код статуса http, добавив следующее промежуточное ПО в последний раз
class Auth401Middleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
response = self.get_response(request)
if request.path == "/accounts/login/" and request.method == "POST" and not request.user.is_authenticated:
response.status_code = 401
return response