Java 如何通过邮递员发送csrf令牌
我用spring boot创建了后端,需要csrf令牌。Java 如何通过邮递员发送csrf令牌,java,unit-testing,spring-security,postman,Java,Unit Testing,Spring Security,Postman,我用spring boot创建了后端,需要csrf令牌。 我正在尝试使用postman测试我的api 当我试图调用我的api时,我收到了这个错误消息 { "timestamp": 1427179894398, "status": 403, "error": "Forbidden", "message": "Expected CSRF token not found. Has your session expired?", "path": "/xxxx" }
我正在尝试使用postman测试我的api 当我试图调用我的api时,我收到了这个错误消息
{
"timestamp": 1427179894398,
"status": 403,
"error": "Forbidden",
"message": "Expected CSRF token not found. Has your session expired?",
"path": "/xxxx"
}
那么,如何解决这个问题呢?您必须“猜测”CSRF令牌,它很可能只是表单中呈现的隐藏输入
因此,最简单的方法是通过一个请求获取带有表单的页面,然后解析该页面以从表单的输入中获取CSRF令牌,并在下一个请求中将其与其他数据一起发送
但这是一种棘手且不稳定的方法(尤其是在具有不同表单和字段的HTML代码中查找CSRF令牌)
更好的方法是为您的端点实现“API模式”,其中一些密钥将通过头传递并禁止CSRF检查。实际上,我不知道如何在Spring Boot中以最小的努力实现它