单点登录(SSO)
编辑页面
了解你的组织如何使用身份提供商来管理你团队中的 Expo 用户。
For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.
单点登录(SSO)适用于 Production 和 Enterprise 方案 客户。
要开始使用,请先按照下面的 IdP 配置指南 为 Expo SSO 配置你的身份提供商(IdP)并收集相关信息。完成后,你的组织所有者可以按照说明 启用 SSO。
如果你有任何问题或遇到任何问题,联系我们,我们会帮助你设置组织。
身份提供商支持
Expo SSO 支持以下身份提供商:
我们实现了 OpenID Connect Discovery 1.0 规范,并正在验证更多兼容的身份提供商。如果你使用其他身份提供商并对 SSO 感兴趣,请告诉我们。
在组织中设置 SSO
组织账户必须至少保留一个非 SSO 用户,并且该用户具有 Owner 角色。此用户用于初始 SSO 设置,并确保在你的 SSO 配置发生变化或你停止使用 SSO 时,仍能不间断地访问你的组织。
1
以组织账户所有者身份登录。在你的账户 EAS 仪表板中,前往 设置 > 组织设置 > 为账户创建 SSO 配置。
2
在 为账户创建 SSO 配置 页面,点击 开始 按钮。
3
使用你在 IdP 设置过程中收集的信息,输入你的 IdP 配置信息:
- Client ID
- Client secret
- 如有需要,IdP 子域名/租户 ID。有关应填写内容的说明,请点击 Issuer 字段上方的 ? 图标。
4
点击 创建 SSO 配置。
5
组织设置 > 概览 页面现在会显示 更新 SSO 配置 选项。若客户端密钥发生变化,请使用此选项进行更新。
SSO 用户登录
Expo 网站
1
前往 expo.dev/sso-login 并输入你组织的账户名称。你也可以创建一个预填组织名称的链接。例如,expo.dev/sso-login/test-org 会预填 test-org。
2
登录你的身份提供商(IdP)。
3
系统会提示你选择一个 Expo 用户名。这将作为你的 Expo 账户用户名。
Expo CLI
使用 Expo CLI 时,你可以运行以下命令登录你的 Expo 账户。
- npx expo login --sso系统会提示你通过浏览器中的 Expo 网站登录,完成后会重定向回 CLI。
EAS CLI
使用 EAS CLI 时,你可以运行以下命令登录你的 Expo 账户。
- eas login --sso系统会提示你通过浏览器中的 Expo 网站登录,完成后会重定向回 CLI。
Expo Go
1
在登录流程中,点击登录页面上的 Continue with SSO 按钮。
2
按照 上面的步骤 登录 Expo 网站。
SSO 用户限制
SSO 用户与普通用户类似。不过,有一些已知例外:
- SSO 用户只能属于其 SSO 组织。他们也不能创建额外的组织。
- SSO 用户不能离开其 SSO 组织。这样做会删除其 SSO 用户。
- SSO 用户无法登录 Expo 论坛。
- SSO 用户不能为其个人账户订阅 EAS。
SSO 管理
新组织和现有组织都可以启用 SSO 作为登录选项。已有非 SSO 成员的组织可以启用 SSO,然后引导新成员前往 SSO 登录页面,而现有用户继续使用他们当前的 Expo 凭据。为了支持外部贡献者,启用 SSO 的组织还允许通过电子邮件邀请额外的非 SSO 用户。
将现有用户迁移到 SSO
普通用户可以是一个或多个个人、团队和组织账户的成员,而 SSO 用户则只属于其组织账户。因此,现有用户不能直接转换为 SSO 用户。不过,已经是你组织成员的普通用户可以通过访问 SSO 登录页面 创建第二个用户。然后,可以将其普通用户从组织中移除。
要从普通 Expo 账户迁移到 SSO 账户,请按照以下步骤操作:
1
检查你是否已在 expo.dev 登录。如果是,请先退出登录。
2
前往 SSO 登录页面 并按照提示操作,例如输入你的组织名称、创建新的 Expo 用户名,以及登录你的身份提供商。
3
默认情况下,你新的 SSO 用户将具有仅查看(View Only)角色。如果你需要其他角色,请让管理员或所有者在 成员 设置中更新你的角色。
4
运行 eas login --sso 以在 CLI 中切换到你的新账户。
5
此时,管理员或所有者可以将你的旧用户从组织中移除。在 成员 设置中,组织成员列表会标明用户是 SSO 用户还是非 SSO 用户。管理员或所有者可以点击旧用户旁边的下拉菜单,然后点击 移除成员。
6
如果你不再需要旧用户账户,请先退出你的新 SSO 账户,然后登录旧账户并前往 用户设置。向下滚动并点击 删除账户。请注意,这将删除旧用户账户下的任何项目。 这不会影响组织拥有的任何项目。
如果你希望在新的 SSO 用户账户上复用旧用户名,可以先在旧用户下前往 用户设置 并在创建 SSO 账户之前重命名。或者,你也可以在删除旧用户后重命名你的 SSO 用户账户的 Expo 用户名。虽然 Expo 用户名必须唯一,但如果你在身份提供商中的电子邮件地址与旧用户的电子邮件地址相同,也没有问题。
删除 SSO 用户
如果某人已离开你的组织,请在你的 IdP 中将其移除或禁用。根据你在 IdP 中配置的令牌刷新时长,随后该被移除的用户将失去访问其 Expo 账户的权限。 如果你希望在那之前移除他们,或者你想通过清理账户中的用户来移除他们,可以在组织的 成员 设置页面执行:
1
前往你的 组织账户 成员 设置。
2
点击你要删除的成员旁边的下拉菜单,然后点击 删除 SSO 用户。
这将删除他们的个人账户以及与之关联的所有数据。你组织账户中的所有数据将不受影响。
更改计费或停止使用 SSO
继续使用 SSO 需要有效的 Production 或 Enterprise 方案。联系我们 如果你希望停止使用 SSO 或更改方案。
为确保无论是否启用 SSO 都能不间断地访问你的组织,SSO 组织必须保留至少一个具有 Owner 角色的非 SSO 用户作为成员。
删除 SSO 组织
一旦为组织配置了 SSO,账户删除必须由 Expo 团队手动完成。联系我们 以获得帮助。