如何在使用Django Rest Framework时获取初始CSRF令牌

时间:2014-12-13 00:24:27

标签: python django rest django-rest-framework

我正在使用Django Rest Framework创建API。用户仍然需要获取CSRF令牌来进行POST,PUT,PATCH和DELETE调用。用户最初获取CSRF令牌的最佳做法是什么?我正在使用TokenAuthentication。所以我只需要允许API获取用户名和密码并发送回令牌。之后,我不需要CSRF令牌。

我是否必须添加一个允许他们使用GET方法调用获取CSRF令牌的步骤,该调用将返回一个令牌?

我正在寻找有关如何最好地解决这个问题的建议。

1 个答案:

答案 0 :(得分:1)

使用API​​,您即将打开一扇门来处理服务器上的请求,而无需任何会话和浏览器。 CSRF令牌只是验证表单请求,以确保它从您的网站发送。据我所知,关闭API的CSRF保护是绝对可以的。

您可以使用 csrf_exempt 装饰器。

阅读本文以了解有关 CSRF and Web API protection 的更多信息。