Django 403 "detail": "Учетные данные для аутентификации не были предоставлены". Токены Knox

Я следовал этому руководству (https://github.com/bradtraversy/lead_manager_react_django/tree/db45e4f6fc05a3481e7b8a0223e0aab0355a84b6), чтобы сделать приложение Django-React-Redux. У меня возникли проблемы с моим UserAPI, в частности, при выполнении запроса GET. Обратите внимание, что я использую токены knox. Поскольку функция выхода из системы работает нормально (эта функция используется по умолчанию в knox), я вижу, что токен правильно сгенерирован из логина, так как я использую этот токен для выхода из системы. Я подозреваю, что в моем settings.py что-то не так.

Ошибка заключается в следующем: 403: "detail": "Authentication credentials were not provided."

class UserAPI(generics.RetrieveAPIView):
    # this route needs protection
    # need a valid token to view
    permission_classes = [
        permissions.IsAuthenticated,
    ]
    serializer_class = UserSerializer

    def get_object(self):
        return self.request.user

    # Get the registered organizations of the user
    @action(methods=['get'],detail=True)
    def registered_orgs(self,request,*args,**kwargs):
        instance = self.get_object()

        orgs = instance.followed_organizations.all()

        serializer = OrganizationSerializer(orgs,many=True)

        return Response(serializer.data)

Вот мой файл настроек:

Файл сериализатора пользователя:

# User serializer
class UserSerializer(serializers.ModelSerializer):
    # Number of followed organizations
    followed_organization_count = serializers.SerializerMethodField()
    # The followed organizations
    followed_organizations = serializers.SerializerMethodField()
    # bio
    bio = serializers.SerializerMethodField()

    class Meta:
        # Need unique validator on name and email https://stackoverflow.com/a/38160343/12939325
        model = User
        fields = ('id','username','email','first_name','last_name',
            'followed_organization_count','followed_organizations','bio')
        # cant change id
        read_only_fields = ['id']
    
    def get_followed_organization_count(self,obj):
        return len(obj.followed_organizations.all())
    
    def get_followed_organizations(self,obj):
        listOrgs = obj.followed_organizations.all()
        serializer = OrganizationSerializer(listOrgs,many=True)
        return serializer.data
    
    def get_bio(self,obj):
        return obj.profile.bio

Я могу сделать запрос на вход в систему с помощью Postman, получить токен от knox, а затем использовать его для выхода из системы. Однако я не могу вызвать ни одной пользовательской функции, требующей определенного класса разрешений.

Я искал решение в Интернете, но не нашел его.

Вот моя просьба к Почтальону: Postman request

Пожалуйста, дайте мне знать, если есть что-то еще, что я могу предоставить, чтобы помочь решить эту проблему. Спасибо!

Вернуться на верх