单点登录这种方案,面对互联网应用是一个很有效登录方案,但此方案移植在企业应用上不是成功的方案,原因有三点:
一、没有有效资源来改造外采应用;
二、终端用户习惯会带来安全审计挑战;
三、业务场景需要个人拥有多应用账户,则单点登录难以支持。
现在我们从原理上来讲为什么有这三点挑战。
单点登录
单点登录流程图如下:
上列流程图我们可以发现:
一、单点登录是要各应用都要遵守规则去认证中心获取身份,应用是请求发起者,这就会让每个应用都带来前置的改造和开发才能遵寻认证服务器的规则,也就增加了变更应用成本,影响应用的稳定性;
二、单点登录是从认证服务器置换token来获得身份信息,认证服务和应用各自独立,登录是靠应用检验,但退出就没有关联,这样会产生应用退出了,认证服务没有退出;认证服务退出了,而应用却没有退出,这个问题对互联网是可以接收,但企业应用就会为安全审计带来全新挑战;
三、在我们业务场景中,存在个人多账号使用情况,例如总裁让秘书填写单据、财务审批账户与员工账户、应用管理员和员工账户,许多业务场景需要个人在同一应用中有多个账户,面对这类业务场景问题,单点登录方案要求的改造应用和强化管理来支持此类业务场景或者就不支持此类场景。
因为上三点原因,导致我司上个团队引用单点登录方案落地不成功核心原因,花了半年时间让各个应用负责人来修改应用,来满足此规范,也只有内部开发应用得到配合,外采应用没有一个落实下去,最后单点登录方案项目以失败而告终。
统一企业各应用登录入口对一个规模企业是一个降本增效好方式,同时是显性项目,成果从上到下都能感受到成果,后面这个项目转到我手上,为了克服上例问题,我结合UMC采用网关技术路线来统一企业各应用登录,下面我就开讲UMC网关登录。
UMC网关统一登录
再来看一下UMC网关的统一登录的流程图,如下:
从图中我们可以看到UMC网关统一登录的流程中,用户请求是通过UMC网关来完成认证,再根据配置身份互联规则转化为带应用身份的请求,再去请求应用,从而达到应用不需要任何改造就能完成身份转化互联,且应用是无感知,不影响用户任何使用操作。
但在我们的UMC统一登录中,采用是网关路径,UMC网关退出了,则所有请求都不会再到应用中;同时应用主动退出时,则提示要不要全局退出统一登录,整个过程是加强了应用安全审计,应用对外不可见,任何不受信任的请求,都被拦截,应用安全牢不可破。
在UMC网关统一登录在面对个人多账户的情况下,应用请求是采用的账户转化配置,这种模式是支持多账户的,且不需要应用做任何修改都可适配,也不改变终端用户使用习惯,如下图:
所以说,UMC网关统一登录方案是单点登录方案的升级版,因不改变第三方应用,协调各应用方更容易,实施成本低,见效快,因其鉴权每条请求,安全审记更放心,尊重终端用户使用习惯是更方便,推广更容易。
正因就采用此方案,我们内部推广也没有什么阻力,因为各应用无感,我们很快把企业各应用如都集成了,如下图:
在UMC网关统一登录,我们不只是在应用登录上进行了创新,还在网关下各应用角色、权限、账户、组织架构进行了开拓,我们可以通过UMC网关为每个应用分配一套角色权限体系,同时又共享账户和组织架构体系,大大简化子应用的权限和身份管理,轻松做到应用角色和权限的统一授权和回收。
这就我在公司统一登录项目过程,总算通过UMC网关登录方案实现并完成了,源码奉上,里面还有能帮助大家免费福利哦,不要忘记给你的 ⭐️ Star ⭐️哦
结束语
实事上,UMC网关的统一登录是网关应用加强方案,从网关上来加强应用功能,是一个可以探索技术路线,目前我们已经从网关方向上探索出内网穿透 和图片切割水印等等功能,邀请大家去体验,我们赠送价值服务大礼包送给大家,体验是比文字更有说服力,也欢迎各位提出优化意见。