Django говорит, что текущий пользователь не аутентифицирован, хотя вошел в систему

Я действительно ничего не менял и добавил View для обновления некоторых пользовательских данных. Затем я хотел протестировать свой View и Django говорит, что текущий пользователь не аутентифицирован. Я вышел и вошел в систему несколько раз, а также просмотрел запросы в Burp. На мой взгляд, все выглядит нормально, он всегда отправляет session_id, а также логин проходит без проблем. Я также получаю свой объект пользователя, возвращаемый на фронтенд при входе.

Когда я пробую функцию "редактировать" для пользователя, я не авторизован...

Вот мой логин:

@action(methods=['post'], detail=False, url_path='sign-in', url_name='sign-in')
def login_user(self, request):
    email = str(request.data.get('email'))
    password = str(request.data.get('password'))

    if email is None or password is None:
        return _ERROR_INCOMPLETE_CREDENTIALS

    # User authentication...
    user = authenticate_user(email=email, password=password)
    if user is None:
        return _ERROR_BAD_CREDENTIALS

    user_profile = UserProfile.objects.get(id=user.id)
    serialized_user = UserProfileSerializer([user_profile], many=True).data
    print(serialized_user)

    res = login(request, user)
    print(res)

    return Response(serialized_user, status=status.HTTP_200_OK)

Это пользовательский метод authenticate_user:

def authenticate_user(email, password):
    try:
        user = User.objects.get(email=email)
    except User.DoesNotExist:
        return None
    else:
        if user.check_password(password):
            return user
    return None

Это представление, которое не работает из-за неаутентификации:

@action(methods=['get'], detail=False, url_name='current', url_path='current')
def get_current_user(self, request):
    if not request.user.is_authenticated:
        return Response({"detail": "You need to be logged in for this!"}, status=status.HTTP_401_UNAUTHORIZED)
        
    user = request.user
    user_profile = UserProfile.objects.get(id=user.id)
    return Response(UserProfileSerializer([user_profile], many=True).data)
Вернуться на верх