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

如何为Cloud Run蓝绿部署的动态URL配置OAuth 2.0重定向?

针对Cloud Run蓝绿部署+Entra ID OAuth的重定向URL解决方案

1. 固定测试域名+反向代理中转

给测试用的green版本配置一个固定的测试域名(比如test-auth.yourdomain.com),通过反向代理将固定域名请求映射到动态生成的green版本URL:

  • 每次部署green版本时,同步更新Cloud Load Balancer或Cloudflare Workers的转发规则,把固定测试域名的流量转发到当前green版本的动态地址
  • 提前在Entra ID应用注册中配置好这个固定域名的回调URL(例如https://test-auth.yourdomain.com/oauth/callback)
  • Cypress测试直接使用该固定域名访问green版本,OAuth认证完成后,Entra ID会重定向到固定域名的回调地址,再由代理转发回green版本完成后续认证流程

2. SPA场景:本地回调+测试拦截跳转

如果你的应用是单页应用,可调整为前端PKCE授权流:

  • 在Entra ID应用注册里预先添加http://localhost:3000/callback作为重定向URL(Entra ID允许SPA使用localhost地址)
  • Cypress测试时,启动一个本地代理服务监听3000端口,当收到Entra ID的回调请求后,提取授权码,再自动跳转到当前green版本的动态回调URL,完成token交换
  • 全程不需要修改Entra ID的配置,所有动态映射在测试环节内部处理

3. 轻量授权中转服务

搭建一个固定的中间服务作为OAuth认证的中转节点:

  • 提前在Entra ID中配置中间服务的固定URL作为重定向地址(比如https://auth-proxy.yourdomain.com/callback)
  • green版本发起OAuth请求时,将redirect_uri设为中间服务的URL,同时把当前green版本的动态回调地址放到state参数里携带
  • 中间服务收到Entra ID的回调后,提取授权码和state里的动态地址,再把授权码转发到green版本的动态回调URL,完成后续认证
  • 这个中转服务可以部署成Cloud Run的固定服务,不需要随每次构建更新

4. 调整蓝绿部署流程,复用固定green域名

修改CI/CD流程,放弃动态标签生成URL,改用固定的green测试域名:

  • 每次部署green版本时,直接替换green.yourdomain.com指向的Cloud Run版本(通过Cloud Run流量分配或DNS记录更新实现)
  • 提前在Entra ID中配置https://green.yourdomain.com/oauth/callback作为重定向URL
  • 这样所有green版本都使用固定域名,不需要修改Entra ID配置,测试通过后再切换流量到blue版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:38:19