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

通过Postman访问受IAP保护的Cloud Run内部API遇JWT解析问题

解决Postman调用IAP保护的Cloud Run API时的JWT解析错误问题

核心问题:你获取的ya28.a0...格式令牌是OAuth2 Access Token,但IAP要求的是OpenID Connect ID Token,二者格式与用途不同,导致解析失败。

步骤1:调整Postman OAuth2配置以获取ID Token

  • 授权类型选择「Authorization Code」
  • 回调URL填写Postman默认值:https://oauth.pstmn.io/v1/callback(需提前在GCP OAuth2客户端的「已授权的重定向URI」中添加此地址)
  • 授权URL:https://accounts.google.com/o/oauth2/v2/auth
  • 令牌URL:https://oauth2.googleapis.com/token
  • 客户端ID/密钥:使用GCP中创建的Web应用类型OAuth2客户端ID(不要用桌面应用等其他类型)
  • 范围必填:openid email(IAP仅验证ID Token中的身份信息,无需额外API权限范围)
  • 开启「Request OpenID Connect ID Token」选项(Postman OAuth2配置的高级设置中可找到)

步骤2:验证令牌格式

正确的ID Token是JWT格式,由三段Base64编码字符串用.分隔(例如eyJhbGciOiJSUzI1NiIsImtpZCI6...),而非ya28.a0...格式的Access Token。可通过JWT解码工具确认令牌包含aud字段,其值需与IAP保护的Cloud Run资源对应的客户端ID一致(该ID可在GCP IAP控制台的资源详情中查看)。

步骤3:正确携带令牌发起请求

在Postman的请求头中添加:

Authorization: Bearer <你的ID Token>

若使用Postman自动授权功能,需确保工具选择的是ID Token而非Access Token(部分版本需手动切换令牌类型)。

额外检查项

  • 确认你的账号已被添加至IAP资源的「IAP-secured Web App User」权限列表
  • 若为内部API,确认IAP设置中未限制仅特定域/组织账号访问
  • 检查GCP OAuth2客户端的重定向URI是否包含Postman的回调地址,避免授权流程出错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 11:50:33