如何从Postman Rest Client发送Spring CSRF令牌?
我在spring框架中有csrf保护。因此,在每个请求中,我都从ajax调用的标头中发送csrf令牌,这非常正常。
<meta name="_csrf" content="${_csrf.token}"/><meta name="_csrf_header" content="${_csrf.headerName}"/>
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
在ajax中
beforeSend: function(xhr) { xhr.setRequestHeader(header, token),
xhr.setRequestHeader("username", "xxxx1"),
xhr.setRequestHeader("password", "password")
}
我不知道要生成csrf令牌并将其包含在Postman Rest Client的标头部分中吗?您能帮我从Postman Rest Client发送csrf令牌吗?
回答:
一致地执行此操作的最简单方法,因此你不必每次都获得令牌:
注意:你需要安装PostMan Interceptor并激活它才能访问浏览器的cookie
创建一个新环境,以便可以存储环境变量
使用测试创建登录方法以将XSRF cookie存储在环境变量中,在“测试”选项卡中将此代码发布
//Replace XSFR-TOKEN with your cookie namevar xsrfCookie = postman.getResponseCookie("XSRF-TOKEN");
postman.setEnvironmentVariable("xsrf-token", xsrfCookie.value);
编辑 对于使用5.5.2或更高版本邮递员的任何人,你还必须解码Cookie,并且他们还提供了获取Cookie的替代方法,如@Sacapuces指出的那样
pm.environment.set("xsrf-token", decodeURIComponent(pm.cookies.get("XSRF-TOKEN")))
现在,你将拥有一个带有xsrf-token的环境变量。
保存登录方式
创建你要创建的新帖子,并在标题中添加XSRF-Token-Header密钥,并在把手中添加环境变量以访问它{{}}
现在,在运行新请求之前,请确保你运行登录名,该登录名将存储环境变量,然后在你运行实际请求时将其自动追加。
以上是 如何从Postman Rest Client发送Spring CSRF令牌? 的全部内容, 来源链接: utcz.com/qa/401266.html