了解 SP 初始化的单点登录对于 B2B 应用程序的意义
了解什么是服务提供者初始化 (SP 初始化) 的单点登录 (SSO) 以及它如何帮助你的企业对企业 (B2B) 产品。
当谈到身份模型时,B2B 产品独树一帜。它们必须在满足企业客户对一体化员工身份和访问管理需求的同时应对多租户的复杂性。Logto 也遇到了来自客户的这些需求。在本文中,我们将以产品为导向的方式来理解 SP 初始化的 SSO 以及它如何满足你客户的需求。
概念
首先介绍一些你需要了解的关键要素:
- 服务提供者 (SP): 你的应用程序或服务,可能是一个或多个共享单一身份系统的应用。
- 企业身份提供者 (IdP): 企业客户依赖的身份提供者,用于管理员工身份和应用权限。他们可能使用不同的提供者,如 Okta、Azure AD、Google Workspace,甚至是定制的 IdP。
- 服务提供者的组织 (SP Org): B2B 应用通常支持针对不同客户组织的多租户。
- 身份提供者的组织 (IdP Org): IdP 也支持针对不同客户组织的多租户。理想情况下,一个企业应该能够将其 IdP Org 页面链接到 SP Org 页面,复制员工身份,但现实可能更为复杂。
- 企业用户账户: 通常通过使用公司电子邮件域登录来识别。这种企业电子邮件账户最终属于公司。
然后,深入探讨 SSO 和两个关键协议:
- 单点登录 (SSO): SSO 允许用户使用一组凭据访问多个服务或应用程序。它简化了访问管理并增强了安全性。
- SAML 和 OIDC 协议: SSO 依赖这些协议进行身份验证和授权,每种协议都有其优缺点。
有两个主要的 SSO 触发机制需要考虑:
- IdP 初始化 SSO: 在 IdP 初始化 SSO 中,身份提供者 (IdP) 主要控制单点登录过程。用户从 IdP 的界面开始进行身份验证。
- SP 初始化 SSO: 在 SP 初始化 SSO 中,服务提供者 (SP) 负责启动和管理单点登录过程,这在 B2B 场景中通常是首选。
现在,让我们详细探讨 SP 初始化的 SSO。
表面层次:用户体验
与可以提供几个固定社交 IdP 登录按钮的 B2C 产品不同,B2B 产品不能决定每个客户使用的具体企业 IdP。因此,用户需要首先声明他们的身份。在确认他们是启用了 SSO 的企业成员后,他们将被重定向到各自的企业 IdP 进行登录。
为实现这一点,你必须在登录页面上确定用户是否需要通过 SSO 登录,以及他们应该被重定向到哪个 IdP。常见方法包括:
- 电子邮件域映射: 将一个电子邮件域与特定的 IdP 连接器关联。这影响该域下的用户电子邮件地址。确保域所有权验证以防止恶意配置。
- 组织名称映射: 将组织的名称与 IdP 连接器链接,依赖用户记住他们组织的名称。
- 用户个人电子邮件映射: 这样可直接确定用户账户是否启用了 SSO,而无需依赖电子邮件域或组织名称。你可以通过手动邀请用户、定制所需 SSO 的规则或自动同步用户账户来实现这一目标。
在登录首页的设计中,通常有两种形式,可以根据你的产品业务选择:
- B2B 产品: 推荐直接显示 SSO 按钮,使需要使用 SSO 的企业客户成员可以直观地操作。
- 兼容 B2C 和 B2B 的产品: 由于大多数用户不会使用 SSO,可以评估电子邮件域以确定是否需要 SSO。你可以 推迟显示凭证验证,最初将其隐藏,确认用户身份后再显示。
底层复杂性:用户身份模型
然而,将 SSO 集成到你的身份系统中比简单地在登录页面上添加 SSO 按钮要复杂得多。你需要考虑更多因素。
关键元素的关系很少是单一对应的;你需要考虑到一对多,甚至多对多场景。逐步探讨这些变体:
- 一个 IdP 组织与多个电子邮件域: 如果你依赖电子邮件域来确定用户身份,你必须支持多个域的绑定。
- 一个电子邮件域对应多个 IdP 组织: 如果一个域可能属于多个 IdP 组织,用户需要选择他们希望用于单点登录的 IdP。
- 一个 IdP 组织链接到多个 SP 组织: 考虑提供快速连接一个 IdP 到多个 SP 组织的能力。
- 一个用户账户在多个 IdP 组织和 SP 组织中: 不同的 SP 组织可能需要通过不同的 IdP 进行验证。
在企业内部启用或禁用 SSO 可能会改变用户的身份验证方式,需要安全和平滑地过渡。
- SSO 激活决策: 必须决定 SSO 是否仅影响某些租户 SP 组织,还是影响所有租户 SP 组织。前者提供了灵活性,而后者则符合企业范围内身份和访问控制的趋势。
- 过渡期考虑: 作为 SP,你必须容纳第三方 IdP 服务的不确定性。企业管理员始终需要通过 SSO 或凭证作为一种选择访问你的应用,企业成员可能在过渡期间也需要它们。
这些只是应对各种场景的一些要点;还有许多能力和细节可以深入探讨。
结论
我们希望这次关于 SP 初始化 SSO 的分析为你提供了有关企业身份解决方案的新视角。值得高兴的是,Logto 正在努力开发提供简单配置和开箱即用 SSO 身份验证体验的解决方案。请关注我们即将发布的内容,其中将更深入地探讨具体的 SP 初始化 SSO 解决方案。