代码之家  ›  专栏  ›  技术社区  ›  thebjorn

是否可以将可浏览的api与oauth一起使用?

  •  0
  • thebjorn  · 技术社区  · 6 年前

    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返回期望值,但是browsable api返回

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

    如果同时使用(A)和(B),我得到的结果与仅使用(B)时相同。

    如果我只使用(A),那么这两种方法都有效。。。

    有人能解释一下发生了什么,正确的方法是什么吗?

    0 回复  |  直到 6 年前
    推荐文章