了解 SAML 身份验证
安全断言标记语言 (SAML) 是一个框架,可帮助我们以安全和容易的方式实现单点登录 (SSO)。SSO 是一个集中登录系统,只需一组登录凭证就可对客户进行身份验证。
在 Zoho Creator 中,客户门户管理员可以使用 SAML 简化其客户的密码管理。如果管理员已在 SAML 提供商处存储其客户的登录凭证,那么他们可以将客户门户配置为基于这些凭证进行身份验证。管理员也可为多个门户配置 SAML,以便让客户可以使用相同的凭证访问所有门户。
当客户访问门户 URL 时,它将重定向至已配置的登录 URL 以进行身份验证。在成功验证之后,身份提供者 (IDP) 返回该客户特定的 SAML 响应。收到的响应将基于已配置的公共密钥来解码。如果响应指示成功进行身份验证,则客户将登录到门户。
开发者在配置 SAML 之前必须熟悉以下术语。
- 服务提供者 (SP) - 为用户提供服务的系统。在本例中,Zoho Creator 客户门户充当服务提供者。
- 身份提供者 (IDP) - 管理客户身份信息的系统。OneLogin、ADFS、miniOrange 是一些示例 IDP。
- ACS URL(断言消费服务 URL) - IDP 会将 SAML 响应发送给此 URL。SP(Zoho Creator 客户门户)将提供此 URL。
- 实体 ID - 让 SP 和 IdP 可以相互确认对方身份的唯一 ID。服务提供者将提供实体 ID。对于美国客户,实体 ID 是 zoho.com,对于欧盟客户,实体 ID 是 zoho.eu,对于中国客户,实体 ID 是 zoho.com.cn。
- 名称 ID 格式 - 指定名称 ID 时必须使用的格式。您指定的名称 ID 格式必须在 IDP 中配置。Zoho Creator 客户门户仅支持邮箱地址名称 ID 格式,正如元数据文件 (urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress) 中所指定
- 登录 URL - 客户门户的所有客户都将重定向至该 URL 进行身份验证。
- 注销 URL - 当客户在单点登录情况下从客户门户注销时将会重定向至该 URL。
- 公共密钥 - 此密钥用于解码由身份提供者发送的响应消息。
场景 1 - 为多个门户配置 SAML:设想一下有一个名为 Zylker 的机构,其客户拥有唯一的登录凭证。Zylker 在 Zoho creator 中有多个客户门户必须由其客户访问。为了访问所有客户门户,客户必须为每个客户门户创建多个登录凭证。但使用 SAML 身份验证可以克服这个繁琐的过程。Zylker 必须将其所有客户的登录凭证上传到第三方 SAML 提供者。Zylker 可以在其所有客户门户中配置 SAML,并确保为客户使用单点登录途径。因此,当客户尝试访问 Zoho Creator 门户时,他们的登录凭证将由第三方 SAML 提供者(例如 OneLogin、ADFS 等)进行身份验证。
场景 2 - 为现有客户配置 SAML 身份验证:Zylker 机构在 Zoho Creator 中有两个不同的客户门户。每个门户的客户已被分配特定于该门户的登录凭证。Zylker 配置 SAML 身份验证,以便为客户提供单点登录途径。现在,当客户尝试访问门户时,他们将必须由 SAML 提供者进行身份验证。他们的旧登录凭证将被覆盖,只有在 SAML 提供者处上传的凭证才会用于对客户进行身份验证。