Postman授权码流程下如何获取refresh_token?token续期咨询
Postman授权码流程中refresh_token的获取与访问方法
一、refresh_token的获取途径
- 完成授权码流程授权后,若你的OAuth 2.0身份提供商支持并返回refresh_token,Postman会自动保存该值。
- 查看方式:
- 打开请求的Authorization标签页,选择OAuth 2.0类型,点击Get New Access Token完成授权。
- 授权成功后,在弹出的「Manage Access Tokens」窗口中,找到对应token条目并展开,即可看到refresh_token的具体值。
- 若在获取token时选择了「Add to Environment/Global」,refresh_token会自动存入对应的环境/全局变量中。
二、能否访问refresh_token?
当然可以,两种常见方式:
- 通过变量访问:若已将token存入环境/全局变量,直接在脚本中使用
pm.environment.get("refresh_token")或pm.globals.get("refresh_token")读取。 - 通过授权配置直接读取:即使未存入变量,也能在预请求/测试脚本中通过
pm.auth.oauth2.get("refresh_token")获取当前请求授权配置中的refresh_token。
三、Postman原生自动刷新方案
Postman自带token自动刷新功能,无需手动写脚本:
- 在获取token的弹窗中,勾选「Automatically refresh token when it expires」(部分版本需在高级选项中查找)。
- 只要身份提供商支持refresh_token流程,Postman会在access_token过期前自动调用刷新接口更新token,无需手动重新走授权码流程。
四、手动实现预请求脚本刷新(若原生方案不适用)
如果需要自定义刷新逻辑,预请求脚本大致步骤:
- 解码当前access_token的
exp字段判断是否即将过期,或直接调用身份提供商的token验证接口。 - 若过期,构造POST请求调用身份提供商的token刷新端点,参数需包含:
grant_type=refresh_token refresh_token=你的refresh_token值 client_id=你的客户端ID client_secret=你的客户端密钥(按需提供) - 将接口返回的新access_token(及新的refresh_token,若有)更新到对应环境变量:
pm.environment.set("access_token", newAccessToken); pm.environment.set("refresh_token", newRefreshToken);
内容的提问来源于stack exchange,提问作者Moritz Schmitz v. Hülst
相关产品推荐
相关产品推荐

