Как вернуть json и кастомный код ошибки при провале аутентификации django до перехода во view?
У меня вот такая проблема:
В своем проекте djnago в настройки я добавил вот такую строку:
AUTHENTICATION_BACKENDS = {
'core.backends.authentication.token.TokenAuthBackend'
}
И вот такой код для указаного выше модуля:
from django.contrib.auth.backends import BaseBackend
from django.core.exceptions import ValidationError, PermissionDenied
class TokenAuthBackend(BaseBackend):
def authenticate(self, request, **kwargs):
if 'Bearer ' in request.headers.get('Authorization', '').title()[:7]:
# Получение пользователя в переменную user
return user
else:
return None
Моя задача состоит в следущем:
Если пользователь не был найден то, если я просто верну None
, обработка запроса пойдет дальше.
Я же хочу, если пользователь не найден и войти не получилось, незамедлительно вернуть
400/401/403 ошибку и какой-нибудь json.
Но в документации нигде не укзана такая возможность.
Вопрос: Как ещё до перехода во view вернуть 400 ошибку и json для не аутентифицированных пользователей?
P.S. Я знаю, что подобное позволяет делать DRF, однако меня интересует возможность получения такого поведения именно силами обычного django