[TOC]
1. 引言(Introduction)
1.1问题背景
随着高校的信息化、数字花进程的推进,几乎每个学校都有很多系统,用户访问系统,师生每个登录,每个都需要账号密码,很是繁琐,也存在着诸多问题,例如:
- 重复认证: 由于信息不透明,每个系统都要进行认证,且设置方式繁琐,使用不方便。
- 认证不规范: 系统的认证方式不统一,有账号认证、手机认证、工号认证。
- 使用中问题多: 用户使用中经常会出现忘记账号密码情况,要找管理员解决,造成增加工作量。
1.2应对方案
为了解决上述问题,亟需配套用户统一身份系统,该系统不仅支持传统的账号密码登录方式,还集成了手机号验证码登录、QQ、微信等第三方登录方式,以及与学校认证系统的无缝对接,作为公司产品生态系统中不可或缺的基础服务模块。
1.3目标受众
本白皮书面向以下目标受众:
教育机构:面向各类高等教育机构、民办高校、职业学校,提供统一的身份认证解决方案,简化管理复杂度,提升教学资源访问的安全性与便利性。
- 高校实验室管理人员: 了解统一用户身份系统的功能特点,以及如何利用系统提高系统使用。
- 高校教师和学生: 了解统一用户身份系统的使用方法,以及如何方便快捷地系统登陆。
- 高校信息化建设人员: 了解统一用户身份系统系统的技术架构和配置要求,以及如何进行系统部署和维护。
企业培训中心:为企业内部培训系统提供统一的登录门户,提高培训资源的管理和使用效率。
智慧校园建设者:为智慧校园平台的开发者和管理者提供强大的身份认证基础设施,加速智慧化转型。
2.业务背景(Business Landscape)
2.1业务需求
近年来,随着组织的信息化、数字化进程的加快,应用系统会愈来愈多,系统登陆的用户身份确认问题会比较突出,因每个学校的信息化进程有快有慢,迫切需要有适应不同需求的用户身份认证系统,解决多个系统中用户需要记忆多个用户名和密码的问题,提高用户管理和系统的安全性。
2.2市场趋势
- 用户体验:每个系统单独管理各自的用户数据容易行成信息孤岛,分散的用户管理模式阻碍了企业应用向平台化演进,用户体验不佳。
- 简化操作流程:和学校的认证系统进行对接,如果一个应用系统做一次,加上后期维护,需要的大量人力、时间等等资源投入。所以需要把认证对接迁移到OAuth2进行平台化统一管理,解放人力、时间等等资源,投入公司更需要的地方。
- 安全性: 网关认证即授信访问接口,以保障接口等资源安全
2.3需求分析
- 高效便捷: 系统的界面设计应简洁明了,操作流程应简单顺畅,简单易懂。
- 可扩展性: 设计还需要考虑系统的可扩展性和灵活性。
- 安全保障:系统应支持动态同步用户身份和权限信息,加强信息安全预警和审计。
- 应用场景和范围: 需要明确系统的使用场景和范围,以及用户和应用程序的身份认证需求,例如,系统需支持多种认证方式,包括但不限于用户名/密码、动态令牌、手机、微信、QQ等,以满足不同用户群体的需求。
2.4方案特色
- 灵活的授权管理: 建立了一个灵活的授权管理机制,允许细粒度地控制不同角色与资源之间的访问权限。
- 单一登录体验: 用户只需在一个应用系统中登录,即可实现对其它所有接入系统的无缝访问,无需重复认证,极大提升了用户体验。
- 数据同步与兼容性:保持外部应用系统与平台间用户数据的实时同步,保证用户信息的一致性,展现了良好的跨平台兼容能力。
- 遵循4A标准: 系统设计严格遵循4A规范(身份管理、身份认证、授权管理、安全审计),确保了系统的标准化与合规性。
2.5技术优势
- OAuth2协议作为核心技术: OAuth2协议作为核心技术,聚焦于安全高效地授权第三方应用访问受保护资源,确保数据的隐私与安全。庚商在这一基础上,实现了高度集成化的认证服务,能够满足不同场景下的认证需求。
3. 解决方案(Solution)
3.1业务场景
当前高校实验室管理面临着以下问题:
资源整合的需要
系统服务逐渐增多后,每个系统单独管理各自的用户数据容易行成信息孤岛,分散的用户管理模式阻碍了企业应用向平台化演进。建立统一的标准化用户信息管理体系是必不可少的,为平台带来统一的帐号管理、身份认证、用户授权等基础能力,提供跨系统单点登录、第三方授权登录等基础能力,是构建开放平台和业务生态的必要条件。提高管理效率
另外,和学校的认证系统进行对接,如果一个应用系统做一次,加上后期维护,需要的大量人力、时间等等资源投入。所以需要把认证对接迁移到OAuth2进行平台化统一管理,解放人力、时间等等资源,投入公司更需要的地方。这些问题严重制约了信息化推进的进程,迫切需要开发一套功能完善、易于使用的客户统一身份认证系统来解决。
3.2功能措施(配图)
客户身份统一认证系统是通过庚商OAuth2认证系统来实现的,其的技术架构设计,系统各组件之间的交互关系,以及如何处理认证与授权请求。系统通过以下功能解决上述问题,详见下图:
3.3特色亮点
根据对统一身份认证系统及管理平台结构的设计,实现基于4A(身份管理(Ac—count)、身份认证(Authentieation)、授权管理(Authorization)、安全审计(Audit))规范的统一身份认证系统和管理平台。
灵活配置:建立灵活的授权管理机制,满足不同的管理需求。
易于使用:操作界面简洁直观,用户易于上手,用户登陆所有应用系统都使用唯一的用户名和口令,访问多个系统时只需要登陆一次。
安全保障:记录管理员操作行为日志,实现安全审计。
开放接口:保持外部应用系统用户数据和平台用户数据的同步,具有良好的平台兼容性,支持与其他系统进行数据对接,实现信息共享和业务协同。
*双认证 *使用学校统一身份认证,提供一个另外的登录入口,使我们系统用户注册的用户,或者学校不提供学校认证测试账号也能登录系统,方便维护。
第二登录入口访问地址:
http://localhost/uaa/oauth/authorize?redirect_uri=https://localhost/ssoLogin&client_id=acme&response_type=code&state=xvvvf&useGSOauth=true&datasource=limsproduct
说明:
localhost:项目域名
redirect_uri参数:回调地址,这里的http:/localhost/ssoLogin 是门户首页的固定地址,方法不可随意修改,可以改请求头和域名;
useGSOauth参数:修改该参数控制是否使用第二(庚商)认证
其它内容保持不变
datasource参数:数据源名称3.4操作流程(配图)
统一用户身份认证系统的操作流程主要分为以下几个步骤:
统一身份认证登录
通过统一身份认证登录页面,登录成功后,集成下的所有系统不用再次登录。支持账号密码、手机号验证码、QQ、微信Gitlab登录。
对接学校统一身份认证系统
支持对接学校统一身份认证系统,可通过配置项配置使用学校统一身份认证系统登录,用户登录时就会跳转到学校身份认证登录页面进行登录。
3.5核心功能(配图)
客户身份统一认证系统,核心功能见下图:
- 业务系统登陆:业务系统正常登录,跳入认证页面
- 公司OAuth2认证:公司OAuth2认证支持账号密码登录、手机号验证码登录、第三方登录、网关认证。其中第三方登录包括QQ、微信、GitLab、第三方认证(学校认证系统)、微信扫码登录。
- 学校认证系统认证:第三方认证(学校认证系统),公司OAuth2认证需要先和学校认证系统对接。
3.6支持功能(配图)
- 公司OAuth2认证支持账号密码登录、手机号验证码登录、第三方登录、网关认证。其中第三方登录包括QQ、微信、GitLab、第三方认证(学校认证系统)、微信扫码登录。
- 第三方认证(学校认证系统),公司OAuth2认证需要先和学校认证系统对接后才能使用。
3.7模块清单
| 模块 | 功能 | 描述 |
|——|——|——|
| 账号密码登录 | 密码验证 | 提供传统账号密码验证方式,确保基本的用户登录需求。 |
| 手机号验证码登| 手机验证| 用户可通过接收短信验证码快速验证身份并登录系统。 |
| 第三方登录 | 第三方验证 | 通过QQ、微信、学校认证等 |
| 第三方登录| QQ认证 | 集成QQ账户体系,用于于QQ用户直接登录 |
| 第三方登录 | 微信登录 | 支持微信账号直接授权登录。 |
| 第三方登录 | GitLab登录 | 与GitLab平台对接,方便程序员和研发团队使用。 |
| 第三方登录 | 学校认证系统 | 特定学校的认证系统对接,实现学生和教职工的无缝登录。|
| 第三方登录 | 微信扫码登录 | 微信二维码扫描登 |
| 第三方登录 | 网关认证| 作为API网关的一部分,对内部和外部接口调用进行访问控制与身份验证 |
| 第三方登录 | 多应用系统对接 |已与公司内部实验室管理、教学平台、大型仪器管理、项目管理等应用系统完成整合,统一登录入口。另外,也支持第三方系统对接。 |
| 第三方登录 | 多数据源切换登录 | 支持用户在不同数据源间切换登录,适应多场景需求 |
| 第三方登录 | 灵活授权管理机制 | 对不同用户角色和资源访问权限的精细化管理 |
| 第三方登录 | 单点登录 (SSO)| 用户只需一次登录,便能访问所有关联应用系统 |
4. 使用案例(Use Cases)
- 陕西科技大学实验室信息化管理平台: 实现与学校统一身份认证系统集成,支持CAS或Oath2方式,校方提供接口,解决统一身份标识的问题,为集约化的服务打下基础。
- 电子科技大学基于可视化的实验教学资源管理与服务平台: 实现与学校统一身份认证系统集成,支持CAS或Oath2方式,根据校方提供接口,进行对接,实现用户统一身份。
5. 常见问题解答(Frequently Asked Questions, FAQ)
Q1:庚商客户统一身份认证可以和学校统一身份认证系统对接吗?
A1:客户统一身份认证是可以与学校的系统对接的,公司OAuth2认证需要先和学校认证系统对接后才能使用。
Q2:庚商客户统一身份认证可以单独认证,比如通过手机、强强、微信等?
A2:庚商OAuth2认证支持账号密码登录、手机号验证码登录、第三方登录、网关认证。其中第三方登录包括QQ、微信、GitLab、第三方认证(学校认证系统)、微信扫码登录。
Q3:庚商客户统一身份认证的部署和维护成本高吗?
A3:庚商客户统一身份认证系统的部署和维护成本取决于系统的规模和复杂程度。一般来说,成本相对较低。
Q4:庚商客户统一身份认证的主要特色?
A4: 庚商客户统一身份认证是双认证:使用学校统一身份认证,提供一个另外的登录入口,使庚商系统用户注册的用户,或者学校不提供学校认证测试账号也能登录系统,方便维护。
Q5:庚商客户统一身份认证系统的安全性如何?
A5:系统记录管理员操作行为日志,实现安全审计,确保系统安全可靠。