满足的Wehook与Django REST集成时,将返回403



我设置了一个内容帐户,用于下载视频及其返回的403时,当我尝试将webhok添加到我的django rest项目中的API时。我是Django休息和满足的新手。

http://my_server_id/testhook

我设置了钩子并添加了我的API URL。因此,当事件触发时,它称我为我的API。但是在django休息中,它显示出禁止的。我在将Webhook与Django REST集成时应该选择哪些额外的措施?

您的问题可能是因为csrf token,您应该在带有POST请求的标题中传递它。
X-CSRFToken: value
关于CSRF

的文档

就像@linovia在评论中所说的那样,csrf_exempt已经在视图中豁免了,但是由于会话仍然有明确的检查。
这是关于此问题的一个很好的答案:
Django REST框架删除CSRF
简而言之,您可以从SessionAuthentication类和覆盖enforce_csrf继承。

from rest_framework.authentication import SessionAuthentication 
class CsrfExemptSessionAuthentication(SessionAuthentication):
    def enforce_csrf(self, request):
        return  # To not perform the csrf check previously happening

将其设置在视图中或基本Django REST配置:

authentication_classes = (CsrfExemptSessionAuthentication, BasicAuthentication)

相关内容

  • 没有找到相关文章

最新更新