0


Postman设置统一认证token

1. 概述

HTTP无状态接口在使用

Bearer Token

方式进行接口认证时,每次调用都要求在请求头中传递一个 token 值(例如 JWT),这个 token 一般通过调用登录接口获取。在通过登录页面调用登录接口获取 token 后会由客户端程序对 token 进行暂存,在后续调用业务接口时向接口传递该 token 即可。

Postman

中,如果你只调用很少的接口,则可以先调用登录接口获取token,然后在接口的认证方式(Authorization)中选择

Bearer Token

,填入该token值即可。但是如果你在做测试,需要频繁调用大量接口,则每个接口都需要添加,并且当token过期后需要更新,很不方便。此时,可以借助Postman的

变量(variables)

功能,将从登录接口获取的token值保存为变量,在调用接口时Postman自动获取该变量值作为token传递给接口。下面介绍这种设置方式。

2. 确定token格式

假设你的登录接口为

localhost:8080/login

,首先传入登录信息调用该接口,查看返回的token格式:
在这里插入图片描述
上面接口返回的token值直接保存在JSON格式响应体的第一级,即

responseBody.token

3. 将token设置为Collection变量

Postman变量 可以理解为保存在本地的接口信息,根据使用范围分为多种,常用的有

Global

Collection

Environment

  • Global:适用于所有场景的变量
  • Collection:只在当前Collection有效的变量
  • Environment:不同环境使用不同变量

一般地,一个系统的接口可以创建一个Collection进行管理,那么可以将token设置为

Collection变量

。如何设置呢?
点击登录接口的

Tests

窗口,在编辑器中添加如下JavaScript脚本进行设置:

var res =JSON.parse(responseBody);
pm.collectionVariables.set("token", res.token);

在这里插入图片描述
这段代码将响应体转换为

JSON

数据,然后将token值设置为Collection变量

collectionVariables

,变量名就为

token

代码添加后再次调用登录接口,使脚本生效
然后,在左侧Collection菜单中点击当前Collection名,再点击

Variables

,可以看到设置的变量信息,说明变量设置成功:
在这里插入图片描述

4. 认证中添加token变量

设置完以后就可以使用该变量。
还是在Collection界面,点击

Authorization

,选择认证Type为

Bearer Token

,在底下的Token中填入变量占位格式

{{token}}

,即表示此处的值将引用变量

token

的值。
在这里插入图片描述

5. 在接口设置认证类型

现在该Collection下所有的接口都可以继承Collection的认证token了,只需要在这些接口的

Authorization

页面选择认证Type为

Inherit auth from parent

,即继承自父项,也就是Collection,但这一步一般无需特别设置,如果在第4步设置了Collection的认证token,则Postman默认会选继承该token,若不是该选项,则需单独设置。
在这里插入图片描述
设置完成后可直接调用接口,新加的接口也无需单独进行设置。
The End.


参考

[1] Postman说明文档:Using variables

标签: postman 集成测试

本文转载自: https://blog.csdn.net/u011447403/article/details/123655201
版权归原作者 留围冰 所有, 如有侵权,请联系我们删除。

“Postman设置统一认证token”的评论:

还没有评论