如何通过邮递员发送csrf令牌

时间:2015-03-24 07:03:34

标签: java unit-testing spring-security postman

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

当我试图打电话给我的api时,我收到此错误信息

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

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

1 个答案:

答案 0 :(得分:0)

你必须“猜测”CSRF令牌,这很可能只是在表单中呈现的隐藏输入。

所以最直接的方法是使用一个请求获取带有表单的页面,解析页面以从表单的输入接下来获取CSRF令牌,并在下一个请求中将其与其他数据一起发送。

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

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

相关问题