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

Cloud Run配置IAP后OAuth授权重定向至根路径问题排查

问题场景

我有两个Cloud Run服务,分别部署在根路径/和/admin路径下。通过HTTP全局负载均衡使用自定义域名,希望用IAP保护/admin路径(/路径为公开访问,未启用IAP)。已配置后端服务启用IAP,但完成OAuth授权同意屏幕流程后,会被重定向至根路径,进入未启用IAP的后端服务。此时根路径URL带有?gcp-iap-mode=AUTHENTICATING&redirect_token_v2=...这类查询参数,IAP本应检查该参数并在自定义域名下生成Cookie。在控制台IAP页面,点击后端服务的Go to OAuth configuration选项,进入后重定向相关选项均为禁用状态,页面顶部提示This automatically generated OAuth client ID is required for your project. It can't be modified.。请问我遗漏了哪些配置?

解决方案
  • 修正负载均衡路由规则优先级与匹配范围
    确保HTTP全局负载均衡的路径路由规则中,/admin/*的路由优先级高于根路径/*,且/admin的路由明确匹配所有子路径(使用/admin/*而非仅/admin)。如果路由规则重叠或优先级错误,授权后的流量会被错误转发到根路径的后端服务,导致重定向异常。

  • 替换自动生成的OAuth客户端ID为手动创建的版本
    自动生成的IAP OAuth客户端确实无法修改重定向配置,这是核心问题。解决步骤:

    1. 进入Google Cloud控制台的「API和服务」→「凭据」页面,创建新的「OAuth客户端ID」,应用类型选择「Web应用」。
    2. 在「已授权的重定向URI」中添加自定义域名下的IAP回调路径:https://<你的自定义域名>/admin/_gcp_iap/redirect(替换为实际域名)。
    3. 返回IAP页面,找到保护/admin的后端服务,编辑IAP配置,将OAuth客户端ID替换为刚创建的新ID。
  • 确认IAP Cookie的域名绑定
    使用手动创建的OAuth客户端时,重定向URI使用自定义域名,会让IAP在你的自定义顶级域名下生成会话Cookie,确保授权后IAP能正确识别会话,避免因Cookie域名不匹配导致的错误重定向。

  • 检查Cloud Run服务的身份验证设置
    确保/admin路径对应的Cloud Run服务已关闭「允许未经身份验证的调用」,仅允许通过IAP身份验证的请求访问;根路径的服务保持「允许未经身份验证的调用」开启,确保公开访问正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:22:21