Можно ли использовать доступный для просмотра api с oauth?

У меня есть Django REST Framework, настроенная с помощью набора инструментов Django oauth, и у меня возникают проблемы с одновременной работой потока учетных данных клиента (через Postman) и доступного для просмотра api:

class CompanyViewSet(viewsets.ModelViewSet):
    permission_classes = [
        permissions.IsAuthenticated,    # <== A
        TokenHasReadWriteScope,         # <== B
    ]
    serializer_class = CompanySerializer

    def get_queryset(self):
        if self.request.auth:
            user = self.request.auth.user
        else:
            user = self.request.user
        return Company.objects.filter(owner=user)

Я новичок в обеих технологиях, но, насколько я понимаю, должны потребоваться и (A), и (B), (A) для обработки доступного для просмотра API и (B) для обработки потока учетных данных клиента (Postman).

Если я использую только (B), Postman возвращает ожидаемые значения, но доступный для просмотра api возвращает

"detail": "You do not have permission to perform this action."

Если я использую оба (A) и (B), я получаю тот же результат, что и при использовании только (B).

Если я использую только (A), тогда работают оба подхода...

Может кто-нибудь объяснить, что происходит, и каков правильный подход?

0 ответов

Другие вопросы по тегам