Postman 中最省事的 Token 配置方式是使用 Authorization 选项卡并选择 Bearer Token 类型,自动添加标准 Authorization 头;若需自定义头则手动在 Headers 中添加;Pre-request Script 可实现自动续期,推荐优先使用环境变量而非全局变量。

Authorization 选项卡填 Token 最省事
绝大多数现代 API(尤其是用 JWT 或 OAuth 2.0 的)都接受 Bearer 格式的 token,Postman 专为此设计了 Authorization 选项卡,直接填进去就能自动拼好 Authorization: Bearer xxx 头,不用手写、不会漏空格、也不怕大小写错。
操作路径:选中请求 → 切到 Authorization 选项卡 → Type 下拉选 Bearer Token → 在 Token 输入框里填 {{token}}(如果用了环境变量)或直接粘贴明文 token。
常见错误现象:
- 填了
Authorization头但没选对 Type,比如选成No Auth,实际请求根本不带这个头 - 手动在 Headers 里加了
Authorization,但值写成Bearer: xxx(多了冒号)或Bearerxxx(少了空格) - 环境变量名写错,比如设的是
access_token,却在 Token 栏填{{token}},结果发出去是字面量Bearer {{token}}
Headers 里手动填 Authorization 是 fallback 方案
当接口不走标准 Bearer,而是用自定义头(比如 X-Auth-Token、X-Authorization),就得绕过 Authorization 选项卡,去 Headers 里手动加。
操作路径:选中请求 → 切到 Headers 选项卡 → 点右上角 + → Key 填 X-Authorization,Value 填 {{token}} 或完整值(如 Bearer eyJhbGciOi...)。
注意点:
- Key 名必须和后端约定完全一致,包括大小写(
X-authorization≠X-Authorization) - 如果 token 是从登录响应体取的,且字段是
data.token,Tests 脚本里得写pm.environment.set("token", data.data.token),否则取不到 - 响应头里返回的 token(比如
Set-Cookie或X-Auth-Token字段),要用pm.response.headers.get("X-Auth-Token")获取,不能用responseBody
Pre-request Script 自动续期 token 才算真自动化
只靠一次登录 + 环境变量,token 过期后所有请求就全挂了。真正省心的做法,是在每个请求发出前自动检查并刷新 token —— 这得靠 Pre-request Script。
TokenGX Cap 验证码【代码集成】技能 —— 面向开发场景,提供前端组件和后端验证的代码模板,帮助用户将 Cap 无感验证码快速集成到网站或应用中。适用场景:注册登录防刷、表单提交保护、API 接口防爬、发短信/邮件防滥用等。支持前端(HTML/React/Vue/Next.js)和后端(Node.js/Python/PHP/Go)全栈集成。触发词:集成验证码、添加人机验证、CAPTCHA 集成、cap widget、验证码前端、验证码后端、防刷表单等。与 tokengx-cap-admin(服务
典型适用场景:OAuth 2.0 的 refresh_token 流程、或后端提供 /auth/refresh 接口。
关键逻辑:
- 先读当前
token和过期时间(比如存进环境变量expires_at) - 用
new Date().getTime()对比,快过期了就调用刷新接口 - 刷新成功后,用
pm.environment.set()更新token和expires_at - 最后确保当前请求用的是新 token(脚本里设好,后续请求自然继承)
性能影响:每次请求多一次网络调用(刷新接口),所以只在必要时触发,别无脑刷。
全局变量 vs 环境变量:优先用环境变量
pm.globals.set() 写的是全局变量,所有环境共享;pm.environment.set() 写的是当前环境专属变量。除非你明确要跨环境复用(比如 dev/staging/prod 共用一个测试账号 token),否则一律用环境变量。
原因很实际:
- 切换环境时,
{{token}}自动换,不用手动清理 - 团队协作时,别人导入你的 collection,只要配好对应环境,token 就能对上
- 全局变量容易被意外覆盖 —— 比如两个不同集合都设
token,后跑的会把先跑的干掉
容易被忽略的一点:环境变量必须在右上角环境选择器里「选中」才生效,光创建了不选,{{token}} 就是空字符串。










