gpt4 book ai didi

automation - 如何自动发送在 Postman 中先前请求中收集的 JWT token

转载 作者:行者123 更新时间:2023-12-03 19:45:20 31 4
gpt4 key购买 nike

我正在创建 REST API(Symfony 4,FOS Rest 包)并且为了测试我正在使用 Postman 应用程序。问题是,在登录请求时,我获得了 JWT token ,后来,在每个其他请求中,我必须将它作为授权 header 的一部分传回,作为不记名 token 。由于每次登录都会更改此 token ,因此我必须在每次登录后( token 过期时)手动复制/粘贴 token 值。

可以以某种方式避免并自动完成吗?

最佳答案

首先,成功授权后 - 登录调用返回 JWT token ,它必须存储到某个变量中。编辑登录请求时,有一个“测试”选项卡。
在这里,我们可以放置在请求执行后将执行的 JavaScript 代码,因此我们将在那里输入这样的代码:

var jsonData = JSON.parse(responseBody);
if(jsonData.token) {
pm.globals.set("jwt-token", jsonData.token);
}

或者,更短的版本,正如@Danny Dainton 建议的那样:
pm.globals.set("jwt-token", pm.response.json().token)

我们正在收集响应并将“ token ”值存储到名为“jwt-token”的全局变量中。

如果您使用旧版本的 Postman,此代码应该看起来有点不同 - 存储变量应该如下所示:
postman.setEnvironmentVariable("jwt-token", jsonData.token); 

(此处存储为环境变量与上面示例中的全局变量 - 两种类型都可以使用。使用您需要的)。

所以现在, token 值将被存储。然后我们必须将它与其他请求一起使用。
编辑所有其他必须传递 JWT token 的请求。转到“授权”选项卡,选择“不记名 token ”授权类型,值只需输入 {{jwt-token}} .

同样,如果您使用的是较旧版本的 Postman 并且没有“Bearer Token”类型,请转到“Headers”选项卡,添加带有键“Authorization”的新标题,并为其设置值 不记名 {{jwt-token}}

就是这样。现在您只需执行一次登录请求,JWT token 将自动用于所有其他请求。

如果您遇到一些问题,您可以使用控制台打印调试信息。添加您的代码,即:
console.log(jsonData.token);

然后从主菜单转到 查看 -> 显示 Postman Console 打开控制台窗口,您将在哪里获得 console.log 输出。

关于automation - 如何自动发送在 Postman 中先前请求中收集的 JWT token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54824469/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com