Возвращение кода состояния 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
Вернуться на верх