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



我正在使用Django Rest Framework创建一个API。用户仍然需要获得CSRF令牌才能进行POST,PUT,PATCH和DELETE调用。用户最初获得 CSRF 代币的最佳实践是什么?我正在使用令牌身份验证。所以我只需要允许 API 获取用户名和密码并发回令牌。之后,我不需要CSRF令牌。

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

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

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

您可以使用csrf_exempt装饰器。

阅读本文以了解有关 CSRF 和 Web API 保护的更多信息。

最新更新