AI Coding 平台 SSO 身份源接入方案
本文档面向企业客户及平台集成方,介绍如何基于 CloudBase 身份认证,将企业现有 OAuth 2.0 身份源(如 Google、企业微信等)接入 AI Coding 平台,实现多应用统一登录(SSO)。
适用场景
- 企业已有 OAuth 2.0 身份源(Google Workspace、企业微信等),希望员工使用已有账号直接登录 AI Coding 平台;
- 平台下部署了多个子应用(如MCP 工具台、管理后台),需要 登录一次、全部应用免登;
- 希望统一账号生命周期:身份源停用账号后,平台侧同步失效。
方案概述
核心原理
本方案以 CloudBase 托管登录页 作为 SSO 中枢。所有应用统一将未登录用户重定向到同一个托管登录页,由该页面完成与 OAuth 2.0 身份源的交互;身份认证通过后,CloudBase 颁发统一 Session,用户回到任意应用均已登录。
App A ──┐
│ 未登录时重定向 OAuth 2.0
App B ──┼──────────────► CloudBase 托管登录页 ◄──► 企业身份源
│ │ (Google / 企业微信等)
App C ──┘ │ 颁发 CloudBase Session
▼
用户回到原应用,已登录 ✅
为什么选择托管登录页
| 对比项 | 托管登录页 | 自建登录页 |
|---|---|---|
| SSO Session 共享 | ✅ 自动,所有应用共用一个 CloudBase Session | ❌ 需自行实现跨应用 Session 同步 |
| OAuth 2.0 接入 | ✅ 控制台配置即可,无需写代码 | ⚠️ 需调用 SDK 手动处理 OAuth 流程 |
| 接入成本 | 低 | 高 |
结论: 如需实现多应用 SSO,推荐使用托管登录页。
支持的身份源类型
| 身份源 | 协议 | 接入方式 |
|---|---|---|
| Google Workspace | OAuth 2.0 | 控制台配置,开箱即用 |
| 企业微信 | OAuth 2.0 | 控制台配置,开箱即用 |
| GitHub | OAuth 2.0 | 控制台配置,开箱即用 |
| 自定义 OAuth 2.0 身份源 | OAuth 2.0 | 控制台-企业身份源配置 |
| 更多企业身份源 | 如SAML | 控制台-企业身份源配置 |
整体架构
┌─────────────────────────────────────────────────────────────┐
│ 用户浏览器 │
│ │
│ App A / App B / App C │
│ │ 未登录,调用 auth.toDefaultLoginPage() │
│ ▼ │
│ CloudBase 托管登录页(统一入口) │
│ │ 用户选择登录方式 │
│ ▼ │
│ OAuth 2.0 身份源 │
│ │ 认证通过,携带 code 回调 │
│ ▼ │
│ CloudBase 身份认证服务 │
│ │ 颁发 Session Token,写入浏览器 │
│ ▼ │
│ 重定向回原应用,Session 已就绪 │
└─────────────────────────────────────────────────────────────┘
接入流程总览
整体接入分为以下 4 个阶段,预计总耗时 半天至 1 个工作日:
阶段一:控制台配置身份源 阶段二:应用集成
↓ 在 CloudBase 控制台 ↓ 集成 CloudBase JS SDK
↓ 添加 OAuth 2.0 身份源 ↓ 实现登录跳转与回调处理
↓ 启用托管登录页展示
阶段三:多应用 SSO 配置 阶段四:联调与验证
↓ 各应用注册回调地址 ↓ 验证单应用登录流程
↓ 统一指向同一 CloudBase 环境 ↓ 验证多应用 SSO 免登
详细接入步骤
阶段一:控制台配置身份源
- 登录 CloudBase 控制台,进入目标环境;
- 左侧菜单进入 「身份认证」→「登录方式」;
- 选择需要接入的身份源(以 Google 为例),点击「启用」;
- 前往 Google Cloud Console 创建 OAuth 2.0 客户端:
- 应用类型选「Web 应用」
- 将控制台提供的「授权回调地址」填入「已获授权的重定向 URI」
- 将 Google 生成的 Client ID 和 Client Secret 填回 CloudBase 控制台;
- 保存并开启该身份源;
- 进入 「身份认证」→「托管登录页」,在「登录方式」列表中找到刚配置的身份源,勾选「展示在登录页」并保存。
⚠️ 注意: 第 7 步是必须操作。身份源保存后不会自动出现在托管登录页,需手动勾选后用户才能在登录页看到对应的登录按钮。
更多身份源(企业微信、GitHub 等)配置步骤类似,均在控制台完成,无需写代码。