当前位置: 首页 > 知识库问答 >
问题:

从一个邮递员请求中挖出标题并将它们注入到其他请求中

严瑞
2023-03-14

我的web服务使用基于JWT的授权承载令牌身份验证:

  1. HTTP客户端使用有效的JSON请求实体(包括用户名密码信息)向v1/auth/signIn发送有效帖子
  2. 如果验证成功,则该endpoint会将身份验证承载令牌作为HTTP响应头发送回(来自curl)如下所示:

来自curl的响应:

HTTP/1.1 200 OK
Date: Tue, 04 Sep 2018 01:18:28 GMT
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Access-Control-Expose-Headers: Authorization
Authorization: Bearer <big_huge_string>
Content-Length: 0

我正在尝试编写一个Postman集合,该集合从一个“登录请求”开始,该请求成功登录并从服务中获取JWT令牌,然后在每个后续调用中添加适当的HTTP请求头。关于如何做到这一点,有什么想法吗

  1. 提取<代码>

提前感谢!

尝试了建议:

越来越近了,但是控制台。日志(…) 没有打印任何东西给邮递员(或者至少我不知道在哪里可以找到它)。我应该提到的是,我使用的不是Chrome应用程序版本的Postman,而是独立应用程序/可执行文件(版本6.1.4):

你知道我如何/在哪里可以得到控制台吗。日志(…) 工作?我只关心将测试更改为:

pm.test("Can Extract JWT", function() {
   var authHeader = pm.response.headers.toObject().Authorization;
   pm.expect(authHeader).to.not.be.equal(null);
   pm.globals.set('token', authHeader)
});

没有先看到authHeader是什么。有什么想法吗?!

共有1个答案

应俭
2023-03-14

一旦你有了这个令牌值,你就可以使用语法在每个请求头中引用它。更难的是获得登录验证标题。

您可以使用pm.response.headers获取标头列表,然后提取所需的值。

这是作为列表返回的,因此使用Lodash或将其转换为对象可能有助于获得所需的值。它将类似于pm。回答标题。toObject()。授权-我没有尝试过,所以我的语法可能有点错误。

您可以将邮件头注销到Postman控制台,并以这种方式缩小其范围,只需将其包装在控制台中即可。log()语句。

当您获得该值时,它只是一个基本的pm.globals.set('Token,pm.response.headers.toObject(). Authoration)来全局保存它。

 类似资料:
  • 有人能帮助我如何使用以下参数发送POST请求吗: 我试着在《邮递员的身体》中发送一个带有以下参数的: 然而,在发送上述请求时,我得到的位置字符串为null。

  • 我试图使用Postman而不是Web服务的API文档提供的终端命令来请求数据。 curl命令如下: 我怎么能在邮递员内申请这个?我尝试添加和作为请求参数,但这不起作用

  • 出身背景 我将React Native中内置的应用程序连接到REST API。我通过Axios处理请求,并使用Redux存储查询结果。我有一个api连接的index.js文件,它保存了作为请求处理程序的函数,这些请求需要越来越深的授权级别。我有一个简单的函数返回访问令牌,这是由以下代码触发,当前位于应用程序的“欢迎页面”。 理想情况下,在浏览几个屏幕后,用户将进入主页并触发以下代码: 到目前为止,

  • 我通过邮递员以以下方式调用我的java webservice(POST请求),这种方式工作得非常好(即,我可以看到我的记录被插入到数据库中): 下面是选项卡中的内容: 我必须使用CURL在PHP中调用相同的请求,而不是通过POSTMAN调用它。我想知道是否有办法将此命令导出到命令,以便在PHP代码中使用它?我在网上的许多地方发现了相反的方法,有人要求将基于Curl的请求转换为POSTMAN,但却不

  • 我正试着在邮递员上打API。API正在服务器上工作,但我没有收到任何数据。以下是视觉图像: 它是回应我与“没有数据”和400错误的要求。

  • 如何调用POST API请求(具有用户名请求主体的登录API 登录API:POST方法;请求正文:用户名和密码;响应正文:令牌。获取客户记录API:GET方法;请求URI: /token/ 只想在邮递员的一个测试中涵盖这种端到端场景。任何人都可以帮我提供预请求脚本吗?我应该如何调用登录 API?