2023年,中共中央、国务院印发《数字中国建设整体布局规划》,指出建设数字中国是数字时代推进中国式现代化的重要引擎,是构筑国家竞争新优势的有力支撑。工商银行党委全面贯彻数字中国建设理念,深入落实做好“数字金融”大文章与深化数字化转型战略部署。工商银行软件开发中心积极响应总行部署,切实将数字基因融入办公系统。坚持“用户价值”导向,通过聚焦用户需求,分析用户使用办公系统痛点,推出一站式登录认证服务,实现访问业务系统免密登录,优化用户办公体验,提升用户办公效率,进一步赋能数字化转型。
一、现状分析

工商银行为了满足40多万员工日常办公需求,迭代发展了功能丰富、数量众多的应用系统。其中一部分应用系统通过常见网页形式提供业务服务(以下简称“B端应用”),而另一部分应用系统则以客户端形式运行(以下简称“C端应用”)。
行内已建立统一完善的身份认证服务平台,在网页场景下各B端应用系统通过身份认证服务平台完成登录身份认证校验,用户后续访问B端应用可以通过浏览器会话保持策略达到免密登录效果,但该机制无法兼容客户端场景下不同C端应用的登录场景,因此在登录环节中存在突出的用户体验问题,用户在办公过程中使用各应用系统需要重复多次输入密码认证,办公效率下降,触点体验割裂。
在分析痛点场景中发现,B端应用会由于重开浏览器或者使用不同浏览器导致先前的认证失效,使得用户需要重复执行手工登录操作。而C端应用由于没有统一开发标准或者涉及产品采购,各应用使用的开发语言和架构通常大相径庭,且在功能设计上并未考虑与B端应用交互,整体无法做到用户认证授权数据互通流转。
针对此痛点问题,亟需设计一套一站式登录认证服务,提升用户办公体验,提高用户认证效率。
二、一站式登录探索及实践
1.改造难点
考虑到行内应用系统数量众多,一站式登录认证服务的接入改造工作需尽可能减少对于应用系统的代码侵入,降低应用系统接入改造成本。
同时系统环境因素(诸如操作系统版本差异,浏览器版本迭代升级等等)变化较快,一站式登录认证服务应为应用系统隔离环境影响。
因此,一站式登录认证服务设计应考虑如下四个因素:
(1)需考虑认证服务在不同操作系统上的可移植性,避免针对不同操作系统开发多套代码,降低维护成本。
(2)需有快速简单的更新升级机制,使得更新升级对于接入应用无感,可快速发布版本迭代功能。
(3)需有极强的便利性,使用户在登录环节体验更流畅,减少密码输入次数。
(4)需有完善的安全防护机制,确保全流程链路操作安全性,防止信息泄密。
2.一站式登录解决方案
工商银行软件开发中心在探索的过程中,通过分析B端、C端应用特性,综合考虑浏览器和操作系统差异后,发展迭代了一套完善的一站式登录认证服务,如图1所示。
图1 一站式登录认证服务示意
考虑到身份认证服务平台已对B端应用提供了统一的B端认证跳转登录服务;对C端应用提供了接口调用认证登录服务,因此身份认证登录的基座服务仍由身份认证服务平台提供。
同时选择用户装机量大,日常使用频率高的行内桌面端应用作为可信授权应用,担任统一的登录入口。由该可信桌面端应用程序实现操作系统隔离,提供统一的跨B端、C端架构应用系统桌面程序的授权单点登录功能。
用户在使用一站式登录认证服务中主要分为以下四个阶段:
(1)阶段一——登录可信桌面端应用
用户需输入用户名密码登录可信桌面端应用,可信桌面端应用通过身份认证服务平台提供的认证服务完成自身登录。
用户在每台机器首次登录可信桌面端应用时,可信桌面端应用均需要采集机器特定设备信息,并通过多种用户身份要素认证检测完成一次设备绑定并录入行内反欺诈系统留档。后续登录可信桌面端应用时,上送机器特定设备信息,经由设备检查系统检验设备是否绑定,防止身份信息泄露导致在未识别机器上发生异常登录操作。
可信桌面端应用提供本地化配置,记忆用户选择是否同意自动登录认证授权。让用户选择是否让可信桌面端应用自动完成授权流程,开启自动授权时B端、C端应用通过调用相关登录接口可自动完成登录认证流程,无需用户手工输入密码;关闭授权时,B端、C端发起登录,可信桌面端应用通过通信交互中继服务接收到请求后会弹出提示,需要用户进行二次确认。
可信桌面端应用通过服务端接口判断通信交互中继服务灰度范围,控制当前登录用户是否可用启动中继服务,防止通过其他途径启动服务,确保中继服务风险可控。
可信桌面端应用版本包内携带通信交互中继服务程序,可通过发版快速更新可信桌面端应用来迭代更新通信交互中继服务。
(2)阶段二——启动通信交互中继服务
可信桌面端启动通信交互中继服务,并和通信交互中继服务建立通信信道,持续交换当前可信桌面端的运行情况。
为了能最大程度屏蔽各应用端、各操作系统差异,选择注册自定义操作系统服务作为通信交互中继服务层中转交互数据。
通信交互中继服务在注册服务前可选是否在系统启动时自动启动,且在用户登录操作系统前,就由系统的服务管理模块加载变为可用状态。整体服务加载时机可控,既可脱离可信桌面端应用独立运行并提供有限的服务,也可随时由可信桌面端应用启动或停止,便于一站式登录认证服务调整认证的执行时间点。且通信交互中继服务运行层级高于用户层级,可以被多个用户域共用,便于管理多用户情况下服务提供方式。
通信交互中继服务提供的业务逻辑内容在各操作系统下保持一致,仅针对不同操作系统微调适配生命周期控制逻辑。通信交互中继服务运行时侦听本地端口,能够同时处理多个B端、C端发起的登录请求,并将数据传输给可信桌面端应用。
(3)阶段三——初始化B端、C端应用接入通信交互中继服务
用户在使用B端应用时,跳转统一的身份认证网页,由该网页和通信交互中继服务建立通信信道;而在使用C端应用时,则在C端应用启动后由C端应用自身和通信交互中继服务建立通信信道。
B端应用统一接入身份认证服务平台,访问B端应用在判断浏览器没有相关会话保持记录后会跳转身份认证网页,通过手工输入用户密码进行登录。为了减少B端应用接入改造量,考虑只改造身份认证网页。主要涉及以下改造:
一是身份认证网页引入适配通信交互中继服务的JS插件。JS插件负责管理和通信交互中继服务通信信道的生命周期,封装交互通信接口。身份认证网页引入JS插件后通过JS插件的接口判断可信桌面端应用和通信交互中继服务状态,在判定状态正常后再调用授权登录接口通过通信信道将需要登录的应用标识发送给通信交互中继服务,并监听通信交互中继服务返回即时沟通桌面端程序处理后的数据。
二是身份认证网页新增可信桌面端应用可信授权登录方式。在页面加载完毕后通过JS插件主动发起询问可信桌面端应用,当前登录用户选择是否同意自动登录认证授权。在用户同意的情况下,网页页面自动调用后续登录接口,完成自动化登录;在用户不同意的情况下,身份认证网页列出可信桌面端应用的授权登录方式供用户选择点击。
C端应用接入方式与B端接入方式类似,需要引入适配C端应用框架的桥接插件。桥接插件内的业务逻辑与JS插件版本保持一致,仅对接C端应用接口方式根据应用架构需要进行微调,避免业务功能重复开发。
(4)阶段四——登录B端、C端应用
用户发起接入应用登录操作后,携带接入应用标识的登录事件经由通信信道转发至通信交互中继服务,并由通信交互中继服务转发至可信桌面端。
可信桌面端在收到登录事件后将接入应用标识发送至身份认证服务平台生成一次一密的登录令牌,通过通信交互中继服务回传至登录事件发起方,登录事件发起方向身份认证服务平台校验登录令牌获取登录数据完成登录流程。
三、建设成果
工商银行软件开发中心推动落实一系列应用群改造接入一站式登录认证服务,从根本上解决了网页应用与客户端应用需要反复输入密码的长期痛点,实现“一次登录、安全通行”。
目前一站式登录认证服务提供的简化登录认证服务约日均80万次,解决了用户访问不同应用系统时需多次登录的难题,打破了不同浏览器和客户端系统之间用户登录状态不共享的壁垒,从用户视角实现了全局性的登录认证服务,真正实现用户有感的服务提升。后续工商银行软件开发中心将继续以服务数字工行为建设目标,积极捕捉同业动态及用户需求,不断完善跨域协作办公场景建设,助力全行加速数字化转型,让金融科技发展成果更广泛、更深入地惠及广大员工。
-END-
这是科技创新最好的时代,这是属于我们每个人最好的时代,关注“BanTech智库”,专注银行科技发展,探索无界金融生态!