【问题标题】:How to get an initial CSRF token when working with Django Rest Framework使用 Django Rest Framework 时如何获取初始 CSRF 令牌
【发布时间】:2015-02-11 18:52:01
【问题描述】:

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

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

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

【问题讨论】:

标签: python django rest django-rest-framework


【解决方案1】:

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

您可以为此使用 csrf_exempt 装饰器。

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

【讨论】:

  • 但是如果我们必须将令牌存储在 cookie 中以便在浏览器重启后记住用户。一旦令牌存储在 cookie 中,我们需要确保 CSRF 保护。
猜你喜欢
  • 2019-02-26
  • 1970-01-01
  • 1970-01-01
  • 2018-02-12
  • 2019-09-15
  • 2017-02-10
  • 2021-01-11
  • 2020-09-12
  • 2017-01-15
相关资源
最近更新 更多