如何在Postman中跨集合共享基本身份验证标头?

如何在Postman中跨集合共享基本身份验证标头?,postman,artifactory,Postman,Artifactory,我收集了一些针对本地JFrog Artifactory swarm的基本API查询,以测试请求库的版本是否已在我们的enterprise package manager上提供 作为一个例子,我将使用angular https://artifactory.foo.com/artifactory/api/storage/npm-approved/angular/- 这将返回可用版本的小列表 我对这个特定的查询运行了一个测试,以确保在所述结果集中有合适的版本可用 var neededVersion

我收集了一些针对本地JFrog Artifactory swarm的基本API查询,以测试请求库的版本是否已在我们的enterprise package manager上提供

作为一个例子,我将使用angular

https://artifactory.foo.com/artifactory/api/storage/npm-approved/angular/-
这将返回可用版本的小列表

我对这个特定的查询运行了一个测试,以确保在所述结果集中有合适的版本可用

var neededVersion = '1.4.14';

var jsonData = JSON.parse(responseBody);
var versions = jsonData.children;
var hasNeededVersion = false;

for(var version in versions) {
   if(versions[version].uri.indexOf(neededVersion) >= 0) {
       hasNeededVersion = true;
   }
}

tests[neededVersion] = hasNeededVersion;
这是一个很棒的工具,就像我经常需要更新的40多个库一样,我以同样的方式收集了对所有项目依赖项的查询。我调用runner并将其指向集合,然后查看所有测试结果。巨大的进步

然后我不得不更改密码

我必须检查并更新每个条目的“身份验证”标题。这似乎很艰巨。我研究了在Environment和globals中设置标题,但似乎没有任何效果

我的想法是只在一个地方更新我的凭证


有人有什么建议吗?

键入用户名:密码以获取身份验证标头

管理员:base64中的1234是YWRtaW46MTIzNA==

在Postman中,转到设置-管理环境-全局并添加一个名为basic_auth的全局变量,其值为basic YWRtaW46MTIzNA==

在每个请求中,转到请求头并添加一个值为{basic_auth}的密钥授权


然后,当密码更改时,您可以更新全局变量,所有请求都将使用新值。

请尝试在“授权”选项卡中设置用户名和密码,而不是保存身份验证标头。发送请求时,邮递员将使用该信息创建授权标头。然后您就可以使用环境变量(甚至是集合变量),这些变量只需要在一个地方更新

说明:

  • 为“用户名”和“密码”设置环境/集合变量,然后保存
  • 在每项请求中:
  • 在Headers选项卡中,删除授权标头
  • 在“授权”选项卡中,选择类型:基本授权
  • 在用户名字段中,输入{{Username}
  • 对于密码字段,单击“显示密码”,然后输入 {{密码}}

  • 希望这对其他人有帮助:)

    我不太明白。目前,您如何设置通行证?您是否将其定义为每个脚本中的变量?还是将其用作RESTAPI调用的一部分?如何从脚本中调用RESTAPI调用?如果是这样,为什么不使用一个变量来存储密码并在所有脚本上使用它呢。如果您正在使用多个脚本,而不是在同一个“主脚本”中,那么为什么不将凭据存储在单独的文件中,并从每个脚本中读取参数。如果您已经想到了这些,请提前道歉。从您的问题来看,这并不明显。还有最后一件事,如果您没有使用“主脚本”,为什么不创建一个主脚本来存储凭据,并在它一个接一个地调用您的每个脚本时传递它呢?目前,我只添加了基本的Auth头。通过手动“发送”API调用或打开“runner”并选择集合并运行它来处理API调用。我对邮递员还不够熟悉,不知道“主脚本”及其潜力。对不起,我的错,我忽略了你在使用邮递员。。