> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 单点登录 (SSO)

> 为您的 OneSignal 组织配置 SSO（SAML 2.0 或 OIDC），使团队成员通过您的身份提供者进行身份验证。

<Note>
  SSO 仅适用于企业客户。请联系您的客户经理或 `support@onesignal.com` 开始使用。在设置通话中安排一名团队 SSO 产品负责人参与，有助于简化流程。
</Note>

## 什么是 SSO？

单点登录使团队成员能够使用您组织的身份提供者 (IdP) 登录 OneSignal，而无需单独的用户名和密码。通过 IdP 完成一次身份验证后，用户将收到一个令牌，无需额外登录即可访问 OneSignal 和您的其他 SaaS 应用程序。

OneSignal 支持 **SAML 2.0** 和 **OpenID Connect (OIDC)** 协议。选择您的 IdP 支持的任一协议——两者在 OneSignal 中提供相同的 SSO 体验。

## 支持的身份提供者

|                                                                                                                     |                                                                                                                                                            |                                                                                                                                                |
| ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| [ADP](https://marketplace.adp.com/downloads/setting-up-sso.pdf)                                                     | [Duo](https://duo.com/docs/sso)                                                                                                                            | [OneLogin](https://www.onelogin.com/blog/saml-configuration)                                                                                   |
| [Auth0](https://auth0.com/docs/get-started/applications/enable-sso-for-applications)                                | [Google Workspace](https://support.google.com/a/answer/12032922?hl=en)                                                                                     | [Oracle](https://docs.oracle.com/en/cloud/paas/content-cloud/administer/enable-single-sign-sso.html#GUID-8C87B98B-362E-4AD4-8AB9-BD7057935AFE) |
| [Microsoft Entra ID (Azure AD)](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-sso) | [JumpCloud](https://support.jumpcloud.com/support/s/article/getting-started-applications-saml-sso2)                                                        | PingFederate                                                                                                                                   |
| CAS                                                                                                                 | Keycloak                                                                                                                                                   | PingOne                                                                                                                                        |
| ClassLink                                                                                                           | [LastPass](https://support.lastpass.com/s/document-item?language=en_US\&bundleId=lastpass\&topicId=LastPass/c_lastpass_admins_toolkit_sso.html&_LANG=enus) | [Rippling](https://developer.rippling.com/docs/rippling-api/dii48ovix1887-saml-sso-guide)                                                      |
| [Cloudflare](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/)                            | [Microsoft ADFS](https://learn.microsoft.com/en-us/microsoft-365/troubleshoot/active-directory/set-up-adfs-for-single-sign-on)                             | [Salesforce](https://help.salesforce.com/s/articleView?id=sf.sso_about.htm\&type=5)                                                            |
| Custom OpenID Connect                                                                                               | miniOrange                                                                                                                                                 | Shibboleth                                                                                                                                     |
| Custom SAML                                                                                                         | NetIQ                                                                                                                                                      | Shibboleth Unsolicited                                                                                                                         |
| [CyberArk](https://docs.cyberark.com/Idaptive/Latest/en/Content/Applications/AppsOvw/ConfigSSO.htm)                 | [Okta](https://developer.okta.com/docs/guides/build-sso-integration/openidconnect/main/)                                                                   | SimpleSAMLphp                                                                                                                                  |
|                                                                                                                     |                                                                                                                                                            | [VMware](https://docs.vmware.com/en/VMware-vSphere/6.7/com.vmware.psc.doc/GUID-75D4E587-3F9B-4B50-96DA-D6DB6D1781D7.html)                      |

如果您的 IdP 未列出，请联系 `support@onesignal.com` 申请支持。

***

## 设置

请联系 `support@onesignal.com` 开始设置。支持团队将提供设置链接并指导您完成每个步骤。

<Steps>
  <Step title="联系支持并提供您的 IdP">
    发送电子邮件告知您使用的身份提供者。团队将向您发送设置链接并在 OneSignal 端配置连接。
  </Step>

  <Step title="按照您的 IdP 专属指南操作">
    每个身份提供者的配置流程各不相同。使用上方的[支持的身份提供者](#支持的身份提供者)表格找到适合您的指南。
  </Step>

  <Step title="测试您的连接">
    连接 IdP 后，使用您的 SSO 凭据登录以验证连接是否正常。
  </Step>

  <Step title="引导现有团队成员">
    现有 OneSignal 用户可以在登录页面点击**使用单点登录继续**。在引导期间，用户名和密码登录仍然可用，以确保在引导过程中消息发送不受影响。

    请向支持团队提供您希望启用 SSO 测试的电子邮件地址。

    <Frame caption="带有 SSO 选项的 OneSignal 登录页面">
      <img src="https://mintcdn.com/onesignal/KSCNwSpBCNSQ8xdF/images/docs/f7d3f9c-signin.png?fit=max&auto=format&n=KSCNwSpBCNSQ8xdF&q=85&s=4ff34c990fa5380e8f263c1414d19ff2" alt="OneSignal 登录页面，显示“使用单点登录继续”按钮以及用户名和密码输入框" width="856" height="984" data-path="images/docs/f7d3f9c-signin.png" />
    </Frame>
  </Step>

  <Step title="强制执行 SSO">
    当您准备好要求所有用户使用 SSO 时，请联系支持团队对您的组织强制执行 SSO。强制执行后，用户名和密码登录将被禁用。
  </Step>
</Steps>

***

## 将用户添加到 SSO 组织

### 通过仪表板邀请

组织管理员可以从**团队成员**页面邀请用户。有关角色选项和权限，请参阅[团队成员](./manage-team-members)。

<Steps>
  <Step title="邀请用户">
    前往**团队成员**并点击**邀请加入组织**。在邀请时设置用户的角色。

    <Frame caption="带有邀请加入组织按钮的团队成员页面">
      <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/d930dcf883e3134f1a688d4b94bb9976d447e70c55da9f4efdea7182ee37bada-Screenshot_2024-12-04_at_3.25.08_PM.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=ee79b4a6896baa1487096cfcf6b753b1" alt="OneSignal 团队成员页面，显示邀请加入组织按钮" width="2822" height="1026" data-path="images/docs/d930dcf883e3134f1a688d4b94bb9976d447e70c55da9f4efdea7182ee37bada-Screenshot_2024-12-04_at_3.25.08_PM.png" />
    </Frame>

    <Frame caption="输入电子邮件地址以发送邀请">
      <img src="https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/6f6bc0b-adding_person_to_app.png?fit=max&auto=format&n=MUgio66t0sYhGEvj&q=85&s=a081dd660c2ec2794a95f28e1f3ebff3" alt="用于将团队成员添加到 OneSignal 组织的电子邮件输入表单" width="660" height="350" data-path="images/docs/6f6bc0b-adding_person_to_app.png" />
    </Frame>
  </Step>

  <Step title="用户接受邀请">
    受邀用户将收到一封带有**接受邀请**链接的电子邮件。

    <Frame caption="发送给新团队成员的邀请邮件">
      <img src="https://mintcdn.com/onesignal/KSCNwSpBCNSQ8xdF/images/docs/f7c4d0c-invite-email.png?fit=max&auto=format&n=KSCNwSpBCNSQ8xdF&q=85&s=d9dd9c8bd0e6a2e8393cfcf5013ca3bb" alt="带有接受邀请按钮的 OneSignal 邀请邮件" width="900" height="674" data-path="images/docs/f7c4d0c-invite-email.png" />
    </Frame>
  </Step>

  <Step title="用户通过 SSO 登录">
    接受邀请后，用户通过您组织的 SSO 提供者登录。

    <Frame caption="接受邀请后的 SSO 登录页面">
      <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/47c7434-login_to_sso.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=8e6392b319a32ac40bbb6b18f01a6a99" alt="OneSignal SSO 登录页面，提示用户通过其身份提供者进行身份验证" width="700" height="544" data-path="images/docs/47c7434-login_to_sso.png" />
    </Frame>
  </Step>
</Steps>

### 域名限制

受邀用户的电子邮件域名必须在您的 SSO 组织下注册。如果您邀请的用户的电子邮件域名不属于该组织，则会发生错误。

<Frame caption="邀请不在 SSO 组织域名内的用户时的错误提示">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/d80d5d6-adding_person_to_app.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=437d5dbc5f292562f76aa9158b195785" alt="当受邀用户的电子邮件域名未在 SSO 组织中注册时显示的 OneSignal 错误消息" width="660" height="498" data-path="images/docs/d80d5d6-adding_person_to_app.png" />
</Frame>

***

## 常见问题

### 谁可以使用 SSO？

SSO 仅适用于企业客户，且需要现有的身份提供者。如果您没有 IdP，请先与您的内部 IT 团队或咨询公司合作进行设置。有关计划详情，请参阅[定价页面](https://onesignal.com/pricing)，或联系 `support@onesignal.com` 开始使用。

### SSO 的座位数量有限制吗？

没有。SSO 组织下的用户数量没有限制。

### 如何在强制执行前测试 SSO？

可以——在[设置](#设置)期间，只有您指定的电子邮件地址才会启用 SSO 登录。用户名和密码登录对其他所有人仍然有效，消息发送不受影响。

### 为什么 SSO 使用电子邮件域名？一个组织可以有多少个域名？

SSO 将电子邮件域名映射到您的组织——例如，`onesignal.com` 涵盖所有 `@onesignal.com` 电子邮件地址。一个组织可以为 SSO 登录注册多个域名。

### 如何配置和取消配置用户？

您可以在 OneSignal 仪表板中添加和删除用户。目前不支持直接通过 IdP 进行取消配置和配置。

### 我需要帮助找到我的组织管理员或电子邮件域名

请联系 `support@onesignal.com`——他们可以帮助您确认组织管理员，并提供注册到您组织的电子邮件域名列表。

### 如果我的 IdP 出现故障会发生什么？

拥有活跃会话的用户可以继续使用 OneSignal。需要登录的用户将无法登录，直到 IdP 恢复正常。

### 是否支持混合模式（SSO 和用户名/密码同时使用）？

混合模式不受官方支持。SSO 旨在作为主要登录方式。一种变通方法是将您的应用分成两个组织——一个强制执行 SSO，另一个不强制执行。请注意，组织也用于计费目的，因此请联系支持团队讨论最佳方案。

### 我可以限制 SSO 访问特定用户或仅对有限群体强制执行 SSO 吗？

可以。通过 SSO 访问 OneSignal 在两个层面受到控制：

1. **身份提供者**：大多数 IdP（例如 Google Workspace、Okta、Microsoft Entra ID）允许您按用户、组或组织单位启用或禁用应用程序。配置您的 IdP，仅向需要访问的用户授予 OneSignal 应用权限。
2. **OneSignal 邀请**：用户还必须通过仪表板被[邀请加入您的 OneSignal 组织](./manage-team-members)。即使用户可以通过 IdP 进行身份验证，在组织管理员邀请他们之前，他们也无法访问 OneSignal。

两个层面都必须授予访问权限，用户才能登录。要将 SSO 设为唯一登录方式，请[强制执行 SSO](#设置)（第 5 步）——这将为组织中的所有人禁用用户名/密码登录。

### 我可以将多个 IdP 连接到一个组织吗？

不可以。每个组织只支持一个 IdP。如有其他需求，请联系支持团队。

***

<Columns cols={2}>
  <Card title="团队成员" icon="users" href="./manage-team-members">
    邀请用户、分配角色并管理整个组织的权限。
  </Card>

  <Card title="定价" icon="credit-card" href="https://onesignal.com/pricing">
    比较计划并查看每个层级包含哪些功能。
  </Card>
</Columns>
