如何从邮件变量中设置邮递员中的持票人令牌?

时间:2018-06-17 05:23:58

标签: postman postman-collection-runner

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

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

但如何设置新呼叫才能使用它?

我尝试使用

添加标题
Authorization Bearer <mytoken>

但是当我发布状态是401 Unauthorized

6 个答案:

答案 0 :(得分:5)

您可以使用Tests标签来编写代码,以更新环境变量,如本link所述。详细了解测试脚本here

enter image description here

假设auth调用的响应为:

{
    "token": "woaejrlajfaoidhfalskdjfalsdijfasd"
}

然后,在Tests标签中,您可以这样写:

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

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

还要检查inheriting the auth

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

在标题中我需要使用

为密钥

Authorization 

表示值

Bearer {{mytoken}}

答案 3 :(得分:0)

像克里斯汀那样说道。或者下载最新的邮递员桌面应用程序,在授权中他们可以选择在标题中添加持票人令牌

答案 4 :(得分:0)

摘要:

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

您可以在Postman环境和集合中定义变量,以便通过在一个位置设置一个值并在必要时在多个位置引用它来简化您的请求。因此,您可以为Bearer Token值创建一个变量。为此,请编辑您的收藏集,然后转到“变量”标签以添加新变量。

While editing your collection go to the Variables tab to add a new variable you can use throughout your collection.

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

Also while editing your collection go the Authorization tab to set a default authorization for all requests within your collection.

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

Set each request to use the Authorization Type "Inherit auth from parent".

干杯!

答案 5 :(得分:0)

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

let jsonData = JSON.parse(responseBody);

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

enter image description here

并创建一个如下所示的集合变量; enter image description here