Skip to content
Platform

选择合适的 SSO 登录流程

不确定要启用哪种单点登录(SSO)登录流程?本指南将常见的企业场景与推荐的配置对应起来。

🌐 Not sure which single sign-on (SSO) sign-in flow to enable? This guide maps common enterprise scenarios to the recommended configuration.

决策流程图 #

🌐 Decision flowchart

Do users need to start login at supabase.com?
│
├─ No → Use IdP-initiated only (default) ✅
│ - No domain configuration needed
│ - Simplest setup
│ - Users access via IdP dashboard
│
└─ Yes → Do you need multiple SAML apps per domain?
│
├─ Yes → Use IdP-initiated only ✅
│ - Supports Dev/Staging/Prod under same domain
│ - Each environment is a separate IdP tile
│
└─ No → Enable both flows ✅
- SP-initiated for users who bookmark supabase.com
- IdP-initiated still works from IdP dashboard
- Configure email domains

常见情况 #

🌐 Common scenarios

场景 1:多个环境(开发、测试、生产) #

🌐 Scenario 1: Multiple environments (dev, staging, prod)

你的情况:

  • 你需要为开发、测试和生产创建不同的 Supabase 组织
  • 所有员工都使用 company.com 邮箱地址
  • 你不能把不同的邮箱域分配给不同的环境

推荐配置: 仅 IdP 发起 ✅

为什么:

  • 为每个环境在你的 IdP 中创建单独的 SAML 应用
  • 所有应用都使用同一个域名(company.com)
  • 用户点击“Supabase 开发”、“Supabase 预发布”或“Supabase 生产”块
  • 没有域名冲突

如何配置:

  1. 在你的 IdP 中,创建三个 SAML 应用:
    • "Supabase Dev" → 指向开发组织 ACS URL
    • “Supabase 测试环境” → 指向测试组织 ACS 的 URL
    • "Supabase 生产环境" → 指向 prod 组织的 ACS URL
  2. 在每个 Supabase 组织中:
    • 启用单点登录
    • 将“启用 SP 发起的登录”关闭
    • 从对应的 IdP 应用配置元数据
  3. 用户通过 IdP 瓷贴访问每个环境

结果: 使用单个域实现环境的干净分离。


场景2:单一生产组织 #

🌐 Scenario 2: Single production organization

你的情况:

  • 为你的整个公司提供一个 Supabase 组织
  • 所有员工都使用公司邮箱域名
  • 用户对 IdP 仪表盘感到满意

推荐配置: 仅 IdP 发起 ✅

为什么:

  • 最简单的设置
  • 无需域名配置
  • 用户可以通过身份提供商一键访问 Supabase
  • 潜在故障点更少

如何配置:

  1. 在你的 Supabase 组织中启用单点登录
  2. 将“启用 SP 发起的登录”关闭
  3. 配置身份提供者元数据
  4. 在你的身份提供商中创建 Supabase 应用图标

结果: 所有用户一键即可单点登录。


场景3:用户收藏了 supabase.com #

🌐 Scenario 3: Users bookmark supabase.com

你的情况:

  • 用户经常直接收藏 supabase.com
  • 你想支持从 Supabase 开始登录
  • 单一字段,单一组织

推荐配置: 两个流程都启用 ✅

为什么:

  • 支持从 supabase.com 开始的用户(SP 发起的)
  • 也支持喜欢使用 IdP 图块(IdP 发起)的用户
  • 灵活适应不同用户偏好

如何配置:

  1. 在你的 Supabase 组织中启用单点登录
  2. 将“启用 SP 发起的登录”打开
  3. 添加你的邮箱域名(例如:company.com)
  4. 配置身份提供者元数据
  5. 在你的 IdP 中创建 Supabase 应用图标(可选,但推荐)

结果: 用户可以从 Supabase 或 IdP 开始登录。


场景4:从密码认证迁移 #

🌐 Scenario 4: Migrating from password authentication

你的情况:

  • 当前使用密码登录
  • 切换到单点登录
  • 用户习惯从 supabase.com 开始

推荐配置: 两个流程都启用 ✅

为什么:

  • 现有用户常用的登录起点
  • 逐步过渡到基于身份提供者的访问
  • 用户适应后可以推广 IdP 瓷贴

如何配置:

  1. 确保至少存在一个非单点登录的所有者账户
  2. 启用单点登录,并将“启用服务提供方发起的登录”切换为 开启
  3. 添加邮箱域名
  4. 从自动加入关闭开始
  5. 小组测试
  6. 确认后自动加入
  7. 向用户传达新的身份提供商图标
  8. 逐渐鼓励由身份提供者发起的使用

迁移路径:

  • 第1周: 启用两个流程,宣布单点登录可用
  • 第2-4周: 监控使用情况,排查问题
  • 第2个月起+: 推广 IdP 瓷片,如果使用量下降可以考虑禁用 SP 发起

场景5:拥有不同域名的多个子公司 #

🌐 Scenario 5: Multiple subsidiaries with different domains

你的情况:

  • 母公司(parent.com)及子公司(sub1.com、sub2.com)
  • 都使用同一个 Supabase 组织
  • 每个域名都映射到同一个身份提供者

推荐配置: SP 发起,支持多个域 ✅

为什么:

  • 在SP发起的配置中支持多个域
  • 基于邮箱域名的自动路由
  • 集中化的组织管理

如何配置:

  1. 在你的 Supabase 组织中启用单点登录
  2. 将“启用 SP 发起的登录”打开
  3. 添加所有域名:parent.com、sub1.com、sub2.com
  4. 配置身份提供者以接受所有域
  5. 在 IdP 中创建 Supabase 应用图块(IdP 发起的也可以用)

结果: 任何已配置域名的用户都可以访问组织。


场景6:带有客户专属单点登录的SaaS平台 #

🌐 Scenario 6: SaaS platform with customer-specific SSO

你的情况:

  • 你正在开发一个SaaS产品
  • 每个客户都有自己的组织
  • 每个客户使用他们自己的身份提供者

推荐配置: 每个客户自行决定(通常由身份提供者发起)

为什么:

  • 每个顾客可能有不同的偏好
  • 为了简单起见,默认使用 IdP 发起
  • 仅在客户要求时启用服务提供商发起

如何配置:

  1. 对于每个客户组织:
    • 使用他们的 IdP 元数据启用单点登录
    • 默认:保持服务提供商启动的 关闭
    • 如果客户要求 SP 启动:切换 开启 并添加他们的域名
  2. 在客户入职时记录两种选项
  3. 让客户根据自己的工作流程选择

结果: 灵活的、针对客户的单点登录配置。


场景7:混合认证(SSO + 非SSO 用户) #

🌐 Scenario 7: Mixed authentication (SSO + non-SSO users)

你的情况:

  • 一些用户通过单点登录认证(员工)
  • 一些用户使用密码/社交认证(承包商、外部合作伙伴)
  • 单一组织,成员混合

推荐配置: 两个流程都需要仔细规划 ⚠️

为什么:

  • SSO 用户可以使用任意一种流程
  • 非单点登录用户使用密码/社交登录
  • 为每个群组设置不同的邀请类型

如何配置:

  1. 启用两种流程的单点登录(切换 SP 发起 开启)
  2. 配置员工邮箱域名
  3. 对员工使用需要 SSO 的邀请
  4. 给承包商使用非单点登录邀请
  5. 考虑关闭自动加入以控制成员资格

结果: 混合身份验证,明确分离。

配置快速参考 #

🌐 Configuration quick reference

使用场景IdP 发起SP 发起所需域名
多环境(开发/测试/生产)✅ 仅限❌ 不支持否
单一生产组织✅ 仅限❌ 不支持否
用户书签 supabase.com✅ 支持✅ 支持是
从密码迁移✅ 支持✅ 支持是
多个邮箱域名✅ 支持✅ 支持是(所有域名)
客户专属 SSO(SaaS)✅ 默认可选每个客户
混合认证✅ 支持✅ 支持是

测试你的配置 #

🌐 Testing your configuration

在选择你的登录流程后,仔细测试一下:

🌐 After choosing your sign-in flow, thoroughly test:

  1. IdP发起: 在IdP中点击应用图标 → 验证是否重定向到Supabase
  2. SP 发起: 访问 supabase.com/sign-in-sso → 输入邮箱 → 验证 IdP 重定向
  3. 自动加入: 使用新用户账号测试
  4. 域限制: 尝试不匹配的域(SP发起时应该失败)

查看我们全面的SSO 测试和最佳实践指南,了解详细的测试步骤。

🌐 See our comprehensive SSO Testing and Best Practices guide for detailed testing procedures.

什么时候更改配置 #

🌐 When to change configuration

你可以随时安全地更改登录流程配置:

🌐 You can safely change sign-in flow configuration at any time:

将 SP 发起添加到仅 IdP #

🌐 Adding SP-initiated to IdP-only

  • 切换“启用 SP 发起的登录”为开启
  • 添加所需域
  • 与现有用户测试
  • 对 IdP 发起的流程没有干扰

移除 SP 发起的 #

🌐 Removing SP-initiated

  • 关闭“启用 SP 发起的登录”
  • 域名已保留(以后可以重新启用)
  • IdP 发起的仍然可以工作
  • 那些收藏了 supabase.com 的用户现在需要使用 IdP 瓷贴了

无需迁移 - 更改会立即生效。

还不确定吗? #

🌐 Still not sure?

如果你不确定该使用哪个配置:

🌐 If you're uncertain which configuration to use:

  1. 先从 IdP 发起的方式开始(最简单,适用于大多数情况)
  2. 在一小部分用户中进行测试
  3. 收集用户体验的反馈
  4. 如果用户请求,启用 SP 发起
  5. 监控使用情况,看看大家更喜欢哪个流程

下一步 #

🌐 Next steps