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.
参考
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)