单点登录,到底暗藏着什么玄机?

什么是单点登录

单点登录的英文是Single Sign On(简称SSO),即同一帐号平台下的多个应用系统中,用户只需登录一次,即可访问所有相互信任的系统。简而言之,多个系统,统一登录。

企业为什么需要单点登录?

伴随着企业数字化变革,企业办公系统逐渐增多,由于前期没有统一的规划,导致各个系统都有自己的账户体系。企业深受重复开发身份模块、统一用户管理的苦恼;员工频繁切换系统不说,还需要通过各个独立登录验证。这时,只需引入单点登录机制,上述问题迎刃而解。

就拿FEITIAN来说,既有自主开发的问题追踪系统、知识产权管理系统、考勤系统等等,又有外采的客户关系管理系统、网上报销系统、人力资源管理系统。以身份为中心的单点登录策略,不仅帮助我们实现了统一的安全访问控制,员工只需登录一次,就可以访问所有已被授权的、相互信任的应用系统,极大提升了工作效率。

单点登录的实现

同域下的单点登录

如果你的所有平台都是在同一个域名下,那么可以使用同域名共享cookie的方式来完成单点登录的信息共享。每个企业一般情况下只有一个域名,通过二级域名来区分不同的系统。比如我们有个域名叫做:ftsafe.com,同时有两个业务系统分别为:app1.ftsafe.com和app2.ftsafe.com。我们要做单点登录(SSO),需要一个登录系统,叫做:sso.ftsafe.com。

这种做法理论上是可以的,但它存在众多局限。首先,cookie是不能跨域的;其次,共享cookie的方式无法实现跨语言技术平台登录;再次,cookie本身不安全。

因此,我们需要一种全新的登录方式来实现真正的单点登录。

不同域下的单点登录

要实现多个平台单点登录,前提是多个平台必须要有一个唯一的账号,如手机号,邮箱,或用户名,这样才可以判断出是哪个用户。

还是拿FEITIAN来举例,我们有两个不同域名的网站,ftsafe.com, cloudentify.com。想要实现员工在ftsafe.com登录后,即可自动登录访问cloudentify.com,如何操作?在这里,需要借助第三方平台来做授权验证,即sso.com。我们可以看一下简单的流程图。

实际上,企业的应用场景、业务场景更加多元化,不同域下的单点登录才是常用的解决方案。

实施单点登录的挑战是什么?

大型企业在自己设计SSO解决方案的过程中,往往遇到一些瓶颈问题。

随着企业的IT基础架构日益复杂,不同的部门有不同的SSO需求,什么样的SSO策略能满足所有部门、资源和资产的需求,这本身就是一项挑战。

一般来说,各个应用、分支机构都有通讯录,但存储的人员信息却并不完全相同,打通应用体系,实现数据整合,将全量的身份信息拉取到统一目录,并实时自动化地操作更改删除等权限设置,这都是让人头疼的问题。

要为您的企业实施最好的单点登录,还有其他因素需要考虑,比如实施单点登录的成本、单点登录可以带来的成本回报以及您的系统管理员在技术等方面的经验。

然而,使用第三方的单点登录,可以便利地处理种种身份问题,无需从头写代码去构建,无需重复开发模块,快速简单地集成各种所需的应用,并且定制灵活可扩展的解决方案。

单点登录最佳实践是什么?

云端单点登录技术

单点登录功能实现

主流应用快速集成:预集成国内外众多主流应用,可满足企业BS应用、CS应用,以及自研应用等的单点登录。提供标准的应用集成接口,支持SAML2.0、OIDC、OAuth2等国际标准协议,可帮助开发人员5分钟快速集成。

一次登录,通达所有应用:统一应用访问入口,打造一次登录全企通行的客户体验提升工作效率,减少管理消耗;登录过程不传递密码等敏感信息,保证账号的绝对安全。

统一认证,安全加固:目前支持OTP、FIDO2、人脸、指纹、推送、扫码、短信、邮件、USBKEY等多种认证方式,可灵活组合,自由开启。同时,结合平台风险引擎、安防策略,加强认证者环境、网络、行为的风险评估,保证对用户整个访问过程持续风险监控、认证和权限过滤。

跨浏览器单点登录:跨浏览器无感知安全方便快捷地访问各应用系统。即用户通过任一浏览器安全登录后,访问其他应用时可自动唤起该应用系统指定的浏览器,无需再次输入密码,可解决各系统因浏览器兼容问题所导致的登录难题。