我正在使用 Django Rest Framework 创建一个 API。用户仍然需要获得 CSRF token 才能进行 POST、PUT、PATCH 和 DELETE 调用。用户最初获得 CSRF token 的最佳做法是什么?我正在使用 TokenAuthentication。所以我只需要允许 API 获取用户名和密码并发回 token 。之后我就不需要 CSRF token 了。
我是否必须添加一个步骤以允许他们使用将返回 token 的 GET 方法调用来获取 CSRF token ?
我正在寻找有关如何最好地解决这个问题的建议。
请您参考如下方法:
使用 API,您即将打开一扇大门,无需任何 session 和浏览器即可在您的服务器上处理请求。 CSRF token 只是验证表单请求以确保它是从您的网站发送的。据我所知,关闭 API 的 CSRF 保护是绝对可以的。
您可以使用 csrf_exempt 装饰器。
阅读本文以了解有关 CSRF and Web API protection 的更多信息.
