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

Kir*_*eed 4 postman postman-collection-runner

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

var jsonData = JSON.parse(responseBody);
pm.environment.set("mytoken", jsonData.token);
Run Code Online (Sandbox Code Playgroud)

但是我如何设置一个新的电话来使用它?

我试过添加一个标题

Authorization Bearer <mytoken>
Run Code Online (Sandbox Code Playgroud)

但是当我发布状态是 401 Unauthorized

小智 7

概括:

  1. 创建一个变量以将身份验证令牌值存储在单个位置以在整个集合中使用。
  2. 设置整个集合的默认授权方法。
  3. 不要为每个请求设置授权标头,而是在每个请求上设置授权以使用“从父级继承身份验证”来自动使用正确的身份验证标头填充请求。

您可以在 Postman 环境和集合中定义变量,以便通过在一个位置设置值并根据需要在多个位置引用它来简化您的请求。因此,您可以为不记名令牌值创建一个变量。通过编辑集合并转到“变量”选项卡添加新变量来执行此操作。

编辑集合时,请转到“变量”选项卡添加可在整个集合中使用的新变量。

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

此外,在编辑集合时,请转到“授权”选项卡,为集合中的所有请求设置默认授权。

然后,为了使用集合的默认授权方法,您需要在该集合中设置请求,以将授权类型设置为“从父级继承身份验证”。这样做将使您不必手动向每个请求添加授权标头。如果您已为集合定义了默认选项(如上图所示),则集合中选择“从父​​级继承身份验证”授权类型的每个请求都将自动使用正确的授权标头填充请求。

将每个请求设置为使用授权类型“从父级继承身份验证”。

干杯!


Tun*_*gac 7

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

let jsonData = JSON.parse(responseBody);

pm.collectionVariables.set("jwt_token", jsonData.data.token);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

并创建一个集合变量,如下所示; 在此输入图像描述


Kir*_*eed 6

在我需要使用的标题中

对于钥匙

Authorization 
Run Code Online (Sandbox Code Playgroud)

对于价值

Bearer {{mytoken}}
Run Code Online (Sandbox Code Playgroud)


Mr_*_*een 6

您可以使用Teststab 编写更新环境变量的代码,如此链接中所述在此处阅读有关测试脚本的更多信息。

在此处输入图片说明

假设 auth 调用的响应是:

{
    "token": "woaejrlajfaoidhfalskdjfalsdijfasd"
}
Run Code Online (Sandbox Code Playgroud)

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

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("token", jsonData.token);
Run Code Online (Sandbox Code Playgroud)

这将token在您触发 auth 调用时更新变量。此token变量应在所有 API 调用的标头中使用,以自动更新。

还要检查继承 auth