【问题标题】:How to send csrf token via postman如何通过邮递员发送 csrf 令牌
【发布时间】:2015-05-27 09:57:50
【问题描述】:

我使用 spring boot 创建了需要 csrf 令牌的后端。
我正在尝试使用邮递员测试我的 api。

当我尝试调用我的 api 时,我收到此错误消息

{
    "timestamp": 1427179894398,
    "status": 403,
    "error": "Forbidden",
    "message": "Expected CSRF token not found. Has your session expired?",
    "path": "/xxxx"
}

那么,如何解决这个问题呢?

【问题讨论】:

    标签: java unit-testing spring-security postman


    【解决方案1】:

    您必须“猜测”CSRF 令牌,它很可能只是表单内呈现的隐藏输入。

    因此,最直接的方法是通过一个请求获取带有表单的页面,然后解析页面以从表单的输入中获取 CSRF 令牌,然后在下一个请求中将其与其他数据一起发送。

    但这是一种棘手且不稳定的方式(尤其是在具有不同表单和字段的 HTML 代码中查找 CSRF 令牌时)。

    更好的方法是为您的端点实现“API 模式”,其中一些密钥将通过标头传递并抑制 CSRF 检查。实际上不知道应该如何在 Spring Boot 中以最小的努力实现它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      • 2018-08-19
      • 2016-04-07
      • 2018-04-07
      • 2017-07-20
      • 2019-01-20
      • 2023-02-20
      相关资源
      最近更新 更多