如何通过环境变量在邮递员中设置不记名令牌?

How do i set up a bearer token in postman from an environment variable?

我已经在 PostMan 中设置了 collection,并且能够使用以下测试成功地将我的不记名令牌值保存到环境变量中

var jsonData = JSON.parse(responseBody);
pm.environment.set("mytoken", jsonData.token);

但是我该如何设置一个新的调用来使用它呢?

我尝试添加 Header 和

Authorization Bearer <mytoken>

但是当我 Post 状态是 401 Unauthorized

在 headers 我需要使用

为钥匙

Authorization 

价值

Bearer {{mytoken}}

就像克里斯汀说的那样。或者下载最新的邮递员桌面应用程序,因为在授权中他们可以选择在 header

中添加不记名令牌

总结:

  1. 创建一个变量,将 Auth Token 值存储在一个地方,以便在整个 collection.
  2. 中使用
  3. 为整个 collection.
  4. 设置默认授权方法
  5. 不是为每个请求设置授权 header,而是在每个请求上设置授权以使用 "Inherit auth from parent" 自动为请求填充正确的授权 headers。

您可以在 Postman 环境和 collection 中定义变量,以便通过在一个地方设置一个值并根据需要在尽可能多的地方引用它来简化您的请求。因此,您可以为 Bearer Token 值创建一个变量。为此,请编辑您的 collection 并转到“变量”选项卡以添加新变量。

此外,在编辑您的 collection 时,请转到“授权”选项卡,为您的 collection 中的所有请求设置默认授权。您可以将 collection 的授权类型设置为 Bearer,并将令牌值设置为您定义的变量。这将允许您对 collection:

中的所有请求使用相同的授权令牌

然后为了使用 collection 的默认授权方法,您需要在 collection 中设置请求以将授权类型设置为 "Inherit auth from parent"。这样做将使您不必手动为每个请求添加授权 header。如果您为 collection 定义了默认选项,则 collection 中选择了 "Inherit auth from parent" 授权类型的每个请求都会自动使用正确的 header 填充请求以进行授权在上一张图片中。

干杯!

您可以使用 Tests 选项卡编写更新环境变量的代码,如 link. Read more about Test scripts here 中所述。

假设 auth 调用的响应是:

{
    "token": "woaejrlajfaoidhfalskdjfalsdijfasd"
}

然后,在 Tests 选项卡中,您可以这样写:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("token", jsonData.token);

这将在您触发身份验证调用时更新变量 token。此 token 变量应在所有 API 调用的 headers 中使用,以自动更新。

还要检查 inheriting the auth

我在登录 post 进入测试选项卡后使用脚本,如下所示;

let jsonData = JSON.parse(responseBody);

pm.collectionVariables.set("jwt_token", jsonData.data.token);

并创建一个集合变量,如下所示;

pm.environment.set("JWT",pm.response.json().token)

注意JWT是你在环境中设置的环境变量