【问题标题】:Sending CSRF Tokens via Postman通过 Postman 发送 CSRF 令牌
【发布时间】:2021-05-11 15:35:32
【问题描述】:

我正在尝试使用 Postman 测试我的 Web 服务器的登录。首先,我向我的登录 url 发送一个 GET 请求,我得到一个 CSRF 令牌作为 cookie。然后,我使用我的用户名、密码和 CSRF 令牌向该登录页面发出 POST 请求。

我的问题是,当我在 Postman 中执行此操作时,当我尝试发出 POST 请求以登录时收到 403 禁止错误。我正在复制收到的 CSRF 令牌并将其作为 POST 参数之一,并且我使用的是有效的用户名和密码。这里有什么我忽略的吗?

【问题讨论】:

  • 你设置了会话csrfmiddlewaretoken cookie吗?
  • 登录成功后不需要提供用户名和密码给请求,你只需要CSRF令牌,因为你已经认证了。

标签: django post get csrf postman


【解决方案1】:

您需要将其设置为请求中的标头而不是正文中X-CSRFToken 是键,值是 cookie 中的 CSRF 令牌。如果您使用像 TastypieDjango Rest Framework 这样的 API 框架,这将起作用。

如果您在没有 API 层的情况下进行身份验证,则需要实际附加 cookie 或使用 CSRF 令牌创建一个。 This post 解释它。

【讨论】:

    【解决方案2】:

    尝试在 GoogleChrome 上安装 Postman Interceptor 扩展程序。它对我有用。

    【讨论】:

      【解决方案3】:

      为我工作:

      在 Postman Header 中设置:

      KEY:授权

      价值:代币“你的代币”

      【讨论】:

        猜你喜欢
        • 2015-05-27
        • 2015-01-26
        • 2016-04-07
        • 2018-03-20
        • 2018-08-27
        • 2018-08-19
        • 2015-03-26
        • 2021-10-16
        • 2016-06-19
        相关资源
        最近更新 更多