当前位置: 首页 > 面试题库 >

如何从Postman Rest Client发送Spring CSRF令牌?

陈实
2023-03-14
问题内容

我在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

  1. 创建一个新环境,以便可以存储环境变量

  2. 使用测试创建登录方法以将XSRF cookie存储在环境变量中,在“测试”选项卡中将此代码发布

//Replace XSFR-TOKEN with your cookie name
var 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的环境变量。

  1. 保存登录方式

  2. 创建你要创建的新帖子,并在标题中添加XSRF-Token-Header密钥,并在把手中添加环境变量以访问它{{}}

  3. 现在,在运行新请求之前,请确保你运行登录名,该登录名将存储环境变量,然后在你运行实际请求时将其自动追加。



 类似资料:
  • 我在Spring框架中有csrf保护。所以在每个请求中,我都从ajax调用中发送csrf令牌,这是完美的工作。 在ajax

  • 我目前使用的是Web3 JavaScript API的0.2x.x版本。我通过在solidity(在REMIX IDE上)中创建智能契约来部署我的自定义ERC20令牌。我安装了元掩码,并在https://wallet.ethereum.org/上测试发送一些自定义ERC令牌到另一个我的帐户。效果很好。我想使用Web3js在我的JavaScript代码中添加“发送自定义ERC20令牌”功能。 这是我

  • AWS CLI for AppSync有一系列可爱的功能,可以从工作站的命令行远程管理它,因此我基本上不必使用浏览器控制台。 但要进行查询,我必须进入web浏览器控制台,在AppSync下查找GraphQl查询。我可以通过CLI更改所有方式,但我找不到一个简单地发出graphql查询的命令。 我错过了吗?它在那里吗<我不想再看这个屏幕了。。。

  • 我已在中创建了我的应用程序并配置为云消息传递。当我从控制台发送通知时,设备会收到通知,但如果我尝试通过Rest API(使用PostMan)发送。然后通知不会到达设备,但响应显示为成功。 这是我的邮差请求 URI-https://fcm.googleapis.com/fcm/send 标题:内容类型:应用程序/json授权:密钥=MY_SERVER_KEY 正文:{“数据”:{“标题”:“火力基地

  • 我有两个类的数据库,其中有一个方法“GetMoney”和命令 一般来说,关键是在数据库类中,我需要以某种方式获得一个播放器,或者更确切地说,是在命令类中编写的命令的发送者。我该怎么做? //DB-GETMONEY //命令-onCommand

  • 您好,我正在尝试使用React、Express和Firebase创建一个具有身份验证的项目。在创建身份验证的过程中,我不知道为什么这种发送身份验证令牌的方式对我不起作用