Пользовательский метод аутентификации в Django Rest Framework возвращает None, а не пользователя

Я пытался реализовать пользовательский метод аутентификации в DRF, но перезаписанный метод аутентификации не возвращает User, а возвращает None. Вот код. Сначала конфигурация в моем файле settings.py.

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
    'passewok.authentication.CustomAuthentication',
],
}

Теперь мой класс CustomAuthentication

from rest_framework import authentication
from apps.passmanager.models import User

class CustomAuthentication(authentication.BaseAuthentication):
  def authenticate(self, request):
    password = request.META.get('HTTP_X')
    username = request.META.get('HTTP_Y')
    private_key = request.META.get('HTTP_Z')
    if not password or not username or not private_key:
        return None
    master_key=self.get_master_key()
    print(master_key,password,master_key==private_key)
    if master_key!=private_key:
        return None
    try:
        user = User.objects.get(username=username)
    except User.DoesNotExist:
        raise exceptions.AuthenticationFailed('No such user')
    print(user.password)
    return (user,None)

Затем представление, в котором я реализую или использую мой пользовательский auth

@api_view(["POST"])
def login_manager(request):
try:
    result = authenticate(request)
    print(result)#Here prints None in anyway
    if result:
        user=result
        login(request=request,user=user)
        return Response(
            {
                "Usuario": UserSerializer(user).data,
                "token": AuthToken.objects.create(user)[1],
            },
            status=HTTP_200_OK
        )
    else:
        return Response({"Error": "Failed"}, status=HTTP_401_UNAUTHORIZED)
except:
    return Response({"Error": "Failed"}, status=HTTP_401_UNAUTHORIZED)
Вернуться на верх