You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Postman子请求中获取集合节点的refresh_token?

解决Postman中获取集合级实时refresh_token的问题

方法一:从集合认证信息中实时提取refresh_token

在集合的Pre-request Script(或登出请求的Pre-request Script)中添加以下代码,每次请求前自动从当前有效的OAuth2令牌中提取refresh_token并存入集合变量:

// 获取集合的OAuth2认证配置
const oauthAuth = pm.auth.get("oauth2");
if (oauthAuth?.refreshToken) {
  // 将refresh_token存入集合变量,子请求可直接引用{{refresh_token}}
  pm.collectionVariables.set("refresh_token", oauthAuth.refreshToken);
}

这个方法能覆盖令牌自动刷新的场景,因为每次请求都会读取当前最新的认证数据。

方法二:在令牌获取请求的Tests中更新refresh_token

如果你的集合是通过指定Token URL自动获取令牌,找到Keycloak的/token请求(Postman可能会自动生成该请求),在它的Tests标签中添加代码,每次获取/刷新令牌时更新集合变量:

const jsonData = pm.response.json();
if (jsonData.refresh_token) {
  pm.collectionVariables.set("refresh_token", jsonData.refresh_token);
}

这样每次令牌更新时,refresh_token都会同步更新到集合变量中,登出请求直接使用{{refresh_token}}即可。

注意事项

  • 确保登出请求中正确引用变量:clientId用{{clientId}},refresh_token用{{refresh_token}}
  • 优先使用集合变量而非环境变量,避免跨环境的变量冲突
  • 如果使用方法一,建议把代码放在集合级的Pre-request Script,这样所有子请求都能共享最新的refresh_token

内容的提问来源于stack exchange,提问作者GreenEyedAndy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 15:50:04