开发文档

1. 简介

单点登录,即 Single Sign On,简称为 SSO。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,是目前比较流行的企业业务整合的解决方案之一。

2. 开发步骤

2.1 开发预备

2.1.1 预备知识

在开始开发之前,您需要了解以下预备知识:

1)什么是单点登录?

单点登录指用户在认证中心登录后,即同时登录到所有与此认证中心关联的所有服务中。如您只需登录 Google 即可以已登录用户的身份访问 Youtube 和 Gmail。

2)单点登录流程中的 IdP 和 SP 是什么?

  • IdP 是 Identity Provider 的缩写,指认证中心,在认证过程中 IdP 持有用户信息,并与用户建立会话。
  • SP 是 Service Provider 的缩写,指服务提供者,当用户访问 SP 提供的服务时,如果 SP 无法识别用户,会请求 IdP 对用户进行认证。

3)什么是 SAML?

SAML 是一种单点登录实现协议,这是一个传统协议,并集成在很多现有的系统中,如 Windows AD 和 Apereo CAS。

4)什么是 JWT?

JWT 是一种数据交换格式,本质是一个 Encode 后的 JSON,其中包含了用户自定义的消息,以及一些辅助验证字段,如签名,过期时间。

2.1.2 工作原理

SAML(安全断言标记语言)是一种 XML 开放标准,SAML 2.0 、CAS 和自定义接口都基于这种协议。SAML 用于在服务提供者身份提供者之间交换身份验证信息

  • 服务提供者:SP,Service Provider,这里指简道云;
  • 身份提供者:IdP,Identity Provider,这里指企业内部或第三方的身份验证系统。

用户通过 IDP 发起登录时,将使用 IDP 进行身份验证,验证通过后跳转至简道云。如果 IDP 身份未得到验证,你的用户将被导航至 IDP 的登录界面先进行登录验证,通过后跳转至简道云。

2.1.3 配置流程

简道云在单点登录过程中扮演 SP 身份。在管理员启用单点登录功能后,当一个未登录的成员访问简道云时,简道云会将此请求重定向至管理员配置的 IDP 地址。此时如果成员登录过 IDP,则 IDP 只需读取会话中的用户信息并将其通过配置的方式返回给简道云,简道云即可识别此成员并提供后续服务。流程大致如下:

2.2 申请试用

1)本功能为付费高级功能,需简道云企业版及以上版本可用。若您需要体验使用该功能,可点击右侧表单提交试用申请:申请试用 - 单点登录

2)若您在使用中遇到问题,也可 联系我们 进行咨询。

2.3 配置方式

简道云中支持 3 种单点登录的配置方式:

配置方式

说明

优缺点

适用对象

SAML2.0

安全断言标记语言,使用统一的身份提供服务(IDP)验证用户身份,然后将认证后的安全断言和用户信息返回给简道云,简道云将用户与简道云内账号系统关联

  • 优点:通用协议,若已集成了相关功能则可以直接配置复用,也可以使用如 OneLogin 这样的认证服务提供者。
  • 缺点:如果没有集成相关功能,用户需要自行开发对接层,开发难度较高。

适用于认证系统中已经集成了相关功能,或背景知识较强的用户

自定义接口

简化的 SAML 协议,企业客户可在现有 SSO 接口基础上进行修改,按照简道云的要求调用服务和返回参数,并将认证后的用户信息返回给简道云,完成账号关联。

  • 优点:易于理解,开发简单。
  • 缺点:这是简道云的自有协议,用户需要自行开发对接层。

适用于自己开发相关接口与简道云对接的用户。

CAS

允许用户访问多个应用程序,同时仅向中央CAS 服务器应用程序提供一次凭据(如用户名和密码)。

  • 优点: 通用协议, 并且有开源的 IdP 实现如 Apereo CAS 和 Cloak。
  • 缺点: 如果没有集成相关功能,用户需要自行开发对接层,开发难度中等。

适用于认证系统中已经集成了相关功能的用户

3. 代码示例

若您需要通过自定义接口来实现单点登录,您可通过修改以下Demo 代码示例来完成自定义接口的配置:

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验