企业级 SSO 和 SCIM 用户预配
连接您公司的身份提供商(Okta、Azure AD、Google Workspace),实现自动用户预配(SCIM)并启用单点登录(SSO)。
拥有身份提供商(IdP)的公司,例如 Okta、Microsoft Entra/Azure AD 或 Google Workspace,可以通过两种互补的方式将其与本 CRM 集成:自动用户预配(SCIM)和单点登录(SSO)。两者相互独立:您可以只使用 SCIM、只使用 SSO,或者两者同时使用。
前提条件
- 兼容 SCIM 2.0 和/或 SAML 2.0 / OIDC 的身份提供商(IdP),例如 Okta、Microsoft Entra ID(Azure AD)或 Google Workspace。
- 在 IdP 中拥有创建应用/连接器以及配置预配和 SSO 的管理员权限。
- 在 Sellio 中,拥有管理员权限,以便在“设置 → 集成”中生成 SCIM 令牌并保存 SSO 元数据。
- 建议:企业版套餐。实际的 SSO 启用是由平台在项目级别完成的(通过 Supabase SSO),因此请与支持团队协调。
SCIM 2.0:自动用户预配
通过 SCIM,您的 IdP 会自动在本 CRM 中创建、更新和停用用户,无需手动创建账户。当有人加入 IdP 中的用户组/应用时,系统会以默认角色在此处创建用户;当他们离开时,IdP 会停用其访问权限。用户始终是被停用,而不是被删除,因此历史记录会被保留。
如何启用 SCIM
- 打开“设置 → 集成”,进入“用户预配(SCIM 2.0)”卡片。
- 为已预配的用户设置默认角色(例如 sales_operator)并保存。
- 点击“生成 SCIM 令牌”。该令牌只会显示一次,请立即复制(它会被加密存储,且不会再次显示)。
- 同时复制卡片上显示的 SCIM 基础 URL(以 /api/scim/v2 结尾)。
- 在您的 IdP 中,配置 SCIM 应用:输入基础 URL 和令牌,放在请求头 Authorization: Bearer <token> 中。启用用户预配(创建/更新/停用)。
此后,IdP 会调用基础 URL 下的 /Users 端点来创建(POST)、更新(PATCH/PUT)、列出(GET)和停用(DELETE 或 active:false)用户。每个令牌只属于一个租户:一家公司的 IdP 永远不会为另一家公司预配用户。
SSO(SAML/OIDC):单点登录
通过 SSO,您的用户可以使用与 IdP 相同的企业账户登录 CRM,无需单独设置密码。在“企业 SSO(SAML/OIDC)”卡片上,您需要输入 IdP 的元数据:对于 SAML,是 Entity ID、SSO URL 和 X.509 证书;对于 OIDC,是 Issuer、客户端 ID 和客户端密钥(加密存储)。
- 打开“设置 → 集成”,进入“企业 SSO(SAML/OIDC)”卡片。
- 选择协议(SAML 2.0 或 OIDC)并填写您 IdP 的相关字段。
- 保存。数据会被存储(客户端密钥会加密)。
重要提示:在此保存这些数据只是配置。SSO 登录的实际激活是由平台在项目级别完成的(通过 Supabase SSO),出于安全考虑:应用本身不会自行签发或验证 SSO 会话。保存后,请将数据发送给支持团队以完成登录激活。
如何测试
- SCIM:在您的 IdP 中,使用 SCIM 应用的“Test Connection”(测试连接)按钮(Okta/Entra);它会用 Bearer 令牌调用基础 URL,应返回成功。
- SCIM:在 IdP 中将一个测试用户分配给该应用,并确认该用户在 Sellio 的“设置 → 用户”中以默认角色出现。然后移除该分配,确认该用户被停用(而不是被删除)。
- SSO:待支持团队在项目级别完成激活后,通过 SSO 选项登录,并确认您是用企业账户登录,无需单独设置密码。
故障排查
- SCIM 上出现 401(Test Connection 失败):令牌错误,或未以“Authorization: Bearer <token>”的形式发送。请在卡片上生成新令牌(只显示一次)并粘贴到 IdP 中。
- 404 / 端点未找到:SCIM 基础 URL 不完整。它必须以 /api/scim/v2 结尾,IdP 会从那里调用 /Users。
- 用户未被创建:请确认已在 IdP 中将用户分配给该应用,并且已启用预配(Create Users)。每个令牌只属于一个租户,因此请使用在本 Sellio 中生成的令牌。
- SSO 未重定向 / 元数据错误:请检查 Entity ID、SSO URL 和 X.509 证书(SAML),或 Issuer/客户端 ID/客户端密钥(OIDC)。请记住,此处保存的只是配置;登录激活是由平台完成的,因此请将数据发送给支持团队。