党的二十大报告提出了“推进教育数字化”的指导方针,全国各大高校正在大力推进数字校园、智慧校园建设。高校图书馆作为高校信息化建设中的重要组成部分,也在努力探索建设符合高校师生学习范式、科研模式及其使用方式的数字图书馆。
高校图书馆在推进业务流程的信息化改造,受以微信公众号和小程序为代表的轻应用广泛使用影响,数字图书馆服务与移动互联网的融合更加密切。传统的读者服务更多转移到线上,或采用线上线下结合的形式开展,无卡借阅、空间座位预约等服务都可以在移动设备上完成。
在读者使用图书馆在线资源及应用系统时,无一例外都需要对用户身份进行认证和鉴权。北京大学图书馆通过自建专有身份认证系统可所掌握的用户信息及其使用习惯更加全面。此外,学校身份认证系统仅能提供用户当前的身份状态,学生毕业、升学后,身份转变无从记录。北京大学图书馆通过自建身份认证系统可以掌握用户角色变化情况,例如由在校生变为校友或从本科生转变为硕士生、博士生等,能够对用户账户进行全流程管理,得到更加完整的用户画像。
本文以北京大学图书馆(以下简称北大图书馆)开展的统一认证服务系统更新升级为例,介绍多源融合的图书馆统一认证服务系统建设经验。
多源融合数字图书馆的认证系统设计
系统设计融合多类别用户
根据《北京大学文献保障与信息服务体系管理办法》的相关规定,北京大学文献保障与信息服务体系由学校图书馆(总馆)和各二级单位图书馆(分馆)组成,分馆包括医学图书馆等学科分馆和数学科学学院图书馆等院(系、所、中心)分馆。得益于庞大的“总-分馆体系”及丰富的馆藏资源,北大图书馆的用户不仅囊括北京大学校本部、医学部(包括附属医院)、附属中学的师生,还涵盖了校友、兄弟院校及其他社会机构等多种来源用户。如图1所示,北大图书馆用户有9大类的43种不同来源。新IDP系统(Identity Provider,身份信息提供方)需要将这些用户类别信息通过数据接口如实反馈给接入的SP系统(Service Provider,服务提供方)。SP根据IDP反馈的身份信息,提供差异化服务。
图1 北大图书馆用户来源及身份类别
构建开放式应用接入基座
北大图书馆为提升服务效率,将原有大量线下服务迁移到线上。同时为加快服务向线上迁移的速度,提升图书馆用户服务粘性和满意度,采用了基于微服务的敏捷开发技术框架。大量开发周期短、代码量少、服务场景精细的应用系统应运而生,如微信小程序、“闭架图书预约服务”系统、“送书上门”服务系统、阅览座位及研讨空间预约服务系统等。为了让业务系统之间的数据关联关系更加紧密,消除用户基础数据不一致给业务系统数据关联造成的障碍,需要使用统一的用户认证系统与之对接。这同样是图书馆提供基于用户习惯的精细化服务的前提。
在另一层面,图书馆为了构建人与智能机器的密切交融关系,会根据用户需求变化而不断更新扩展,需要通过规范化的数据接口构建开放的应用接入基座。开放式应用接入基座主要涵盖三种要求:首先,用户在通过身份认证后即可实现跨应用漫游,应用系统间通过开放基座同步用户信息,不受终端设备类型、网络环境等因素的制约;其次,可适应应用系统开发技术框架变迁,认证系统对外提供的数据格式不受开发框架和技术路线的限制,能够兼容旧系统,还可适配新应用的接入需求;最后,提供的数据接口具有可扩展性,用户需求的转变往往伴随着使用习惯的变化,用户使用习惯与用户属性高度关联,基座为上层应用提供的数据格式需要能够满足用户属性字段扩展的要求。
打造跨屏交融的用户交互体验
移动互联网深刻地改变了用户的互联网使用习惯,主流网站在传统Web浏览器登录界面均添加了与移动设备关联的交互设计,用户使用手机等移动设备扫描登录窗口提供的二维码、微信小程序码等,即可完成用户身份认证并成功登录系统,这种用户使用习惯随着移动设备的普及变得十分盛行。用户扫码登录过程,无须输入用户名、密码等信息,认证机制安全性有了极大的提升,且通过认证登录应用系统的时间也大幅缩短。跨屏信息交融的交互设计为用户享用在线服务提供了便利。
系统实现技术路线
为了解决原IDP系统在认证机制上存在的诸多问题,新IDP系统对多个业务流程进行了全新设计。
系统总体框架
根据业务需求,并结合开发过程实际,新IDP系统主要分为以下功能模块:用户信息管理模块、对接SP系统管理模块、外部认证源对接模块、用户登录日志记录及审计模块,如图2所示。
图2 新 IDP 系统功能模块划分
用户信息管理模块主要负责全部图书馆用户信息的管理,系统初始用户全部迁移至图书馆集成管理系统。后续新增用户数据主要有新生数据的批量导入、手工单个录入两种来源。模块同样支持毕业生数据导入,以批量修改用户身份。为了方便图书馆开展读者服务,此模块还管理了除用户借阅证号、密码哈希值等鉴权必备信息之外的扩展信息,如联系方式、院系(工作单位)、身份(本科生、研究生、教工等)、身份证号等。支持基于身份证号的用户全生命流程管理,即同一用户在校身份发生变化时,可以通过身份证号将用户的多个身份关联起来,如用户由本科生转为硕士、博士至离校或留校工作,多重身份下的账户均通过身份证号进行管理。支持用户信息字段动态扩展,以满足图书馆发展的要求。
SP系统管理模块,主要管理接入SP系统信息,包括系统名称、唯一标识、接入密钥、接入协议类型(即OAuth协议、SAML协议)、回调地址、用户登出消息通知接口地址等。相较于原IDP系统,增加了对接入SP系统的验证机制,以提升系统安全性。
外部认证源对接模块的功能主要是将新IDP系统视作SP系统与学校IAAA系统(北京大学校园网及统一身份认证系统)、医学部统一身份认证系统两个外部IDP系统对接以及与微信小程序绑定用户的信息交互。融入学校统一身份管理,是高校图书馆作为数字校园建设重要组成部分的必要举措,为今后与学校其他业务数据集协同增效打下基础。
用户登录日志记录及审计模块用于记录用户登录行为及相关参数,包括用户借阅证号、姓名、登录时间、IP地址、登录方式(验证密码、扫码登录等)、客户端类型、操作系统类型、访问SP系统等信息。支持基于姓名、校园卡号、登录方式和时间段的筛选过滤,方便对用户登录行为进行审计。此外还记录了管理用户对系统参数的操作日志。
多认证源身份验证流程设计
北大图书馆用户来源广泛,可笼统概括为三大类别:校本部用户、医学部用户、其他类别用户。从原有统一认证服务的使用量上看,校本部和医学部用户的使用量占到全部使用量的98%以上。为适应这两类用户的高频次身份认证需求,提升用户使用体验,新IDP系统需要与校本部IAAA系统和医学部统一身份认证系统进行融合。
引入微信扫码认证机制。已绑定“北京大学图书馆”微信公众号或小程序的用户,使用微信“扫一扫”功能或“北京大学图书馆”微信小程序扫描功能识别新IDP系统认证页面显示的小程序码即可自动登录。使用微信扫一扫进行身份信息验证并登录SP系统的流程如图3所示。
图3 微信扫一扫登录身份信息验证流程
新IDP系统作为SP通过对接第三方身份认证源,为用户提供其最熟悉最常用的身份认证方式,使其可根据自身使用习惯进行选择。
多认证协议兼容机制
新IDP系统需要兼容多种身份认证机制,为SP提供多种接入协议选择。
首先,北大图书馆原IDP系统建设年份较早,部分已接入原IDP系统的业务平台建设年代与原IDP系统处于同一时期,受开发技术平台更迭等因素制约已经无法更新改造。因此,新IDP系统需要兼容原有基于SAML(Security Assertion Markup Language,安全断言标记语言)的认证协议,承接所有与原IDP对接的SP系统的身份认证请求。其次,北大图书馆是CALIS馆际互借体系的重要成员馆,北京大学学科门类齐全,研究领域广泛,北大师生用户是CALIS馆际互借体系中的重要需求方,因此,新IDP系统需要与CALIS联合身份认证系统对接,以满足用户登录CALIS馆际互借系统的需求。
在以上兼容性需求的基础上,新IDP系统更需要支持当前主流的OAuth协议,为后续开发的全新应用系统提供高安全等级的用户认证服务,保障用户登录应用系统过程中的信息安全。此外,支持接入多站点的单点登录,即用户通过身份认证登录A系统后,在短时间内再登录B系统无需重复验证密码。对于部分不需要用户主动登录的SP系统,还可提供无感知登录服务。SP系统通过此认证方式验证用户身份后,在用户授权的范围内收集其使用记录等信息,图书馆可以此为依据为用户推荐更加符合其自身学习科研需求的文献资源及扩展服务信息。
系统应用效用评估
新IDP系统于2023年10月26日与北大图书馆新版主页一起上线试运行。截至2023年12月15日,已经接入正式服务系统30个,测试待开放服务系统9个;上线后的50天中,用户登录认证49815人次,平均每天996.3人次。下面对系统应用效用展开详细说明。
业务流程优化
北大图书馆原IDP系统所有用户信息全部来自图书馆集成管理系统(即SirsiDynix公司开发的Symphony系统),二者数据高度耦合。系统管理员需要每天手工上传用户数据到原IDP系统,系统在凌晨零点处理数据。新增用户需要等原IDP系统的定时任务处理之后(通常是第二天),才可登录E-Library进行图书借阅状态查询、图书预约续借等操作,用户信息同步的实时性较低。
近年来,北大图书馆信息化改造不断深入,部分业务流程不再局限于只开放给图书馆集成管理系统中的用户,如校外人员在线预约入馆、古籍阅览申请等服务需要开放校外公众用户登录。新IDP系统与图书馆集成管理系统的耦合关系解除,将用户信息从图书馆集成管理系统中独立出来,扩展了可接入系统的应用场景,使得可认证用户覆盖范围更加全面。创建具有借阅权限的新用户时用户信息通过接口同步写入图书馆集成管理系统。E-Library仅作为与新IDP系统对接的单个SP系统,新创建用户不需要等到第二天,可立即正常登录使用借阅状态查询、图书预约等在线服务功能。
支撑“一站式”服务
北大图书馆创新线上服务模式,将线上服务应用与图书馆主页“我的图书馆”功能进行集成,用户登录后可“一站式”享受图书馆在线服务,如“图书预约”“资源荐购”“馆际互借/文献传递”等。新IDP系统通过统一化“单点登录”接口构建了开放式应用接入基座,实现了图书馆“一站式”在线服务的简捷化集成。用户登录“一站式”服务平台,其会话状态缓存至服务器,当用户从“一站式”服务平台跳转至其他业务系统时,无须再次验证用户名密码即可以相同用户身份完成登录过程。应用系统通过标准化接口接入新IDP系统后,无需额外的程序代码可实现与“一站式”服务平台无缝对接。北大图书馆“一站式”服务还提供微信小程序的版本,通过引入微信扫码登录功能,加强了应用跨屏交融,提升了微信小程序的用户粘性。
用户使用数据统计
为充分展现新IDP系统的用户使用规律,选取2023年11月1日到11月30日完整一个月时间段进行使用量统计。在此时间段内,累计28896人次通过新IDP系统认证并访问了图书馆线上服务。
图4 认证系统使用量按天统计
图4是用户使用量按天统计后所得,从图中可以看出,使用量统计明显地呈现与工作日相同频率的周期性,高峰一般在周一(即11月6日、13日、20日)出现,周一平均日使用量为1225人次。在使用量较低的周六和周日,日均认证人次也可以达到706.9人次。
图5 认证系统使用量按小时统计
全月使用量按小时统计如图5所示,每天使用量较高的时间段集中在上午9时至下午16时之间,在10时及15时达到高峰,这正是学生大课间休息时段。其中15时是每天访问量的顶峰时段累计达到了3018人次(日均达100.6人次)。通过对用户使用量热门时段的分析,可以为业务系统优化提供依据,在热门时段尽量提升应用系统算力支持;批量数据处理、停机维护等操作尽量避开热门时段,选择在周末的夜间进行对用户服务影响较小。
图6 认证系统使用量按用户类别统计
图6所示为认证系统使用量按用户身份类别统计占比,学生使用量总计占比达到了82.5%,教工使用量占比为15.6%,其他用户占比为1.8%。根据北京大学最新公布的基本数据,截至2022年12月在校博士生总数占比29.3%,硕士生占比35.5%,本科生占比35.2%。博士研究生以较少的人数占比,贡献了最多的访问量占比,可知博士研究生对图书馆服务及文献需求最为强烈,本科生次之,硕士研究生相比较而言需求最弱。虽以校外用户为代表的其他类别用户的使用量占比较小,但此类用户远程登录图书馆应用系统预约、续借图书的需求较校内用户而言更为迫切。
图7 认证系统使用量按用户所属学部统计
图7为系统使用量根据用户所属学部占比统计。人文学部及社会科学学部系统访问量占比分别为32%和22%,且两个学部使用量之和超过50%具有明显的优势,这与不同学科所需要的文献资源类型的不同有明显关系。目前与新IDP系统对接的业务系统,多数与纸本文献服务有关联,图书馆在线服务和纸本文献保障应该向人文学部和社会科学学部下学科有所倾斜。
根据以上分析可知,身份认证系统是图书馆访问频次最高的应用系统之一,能够很好地展现读者使用图书馆服务时的行为规律。
总结
统一身份认证系统是用户与图书馆在线服务,用户与图书馆所承载的信息、知识,图书馆应用系统之间相互关联、交融互通的枢纽。北大图书馆通过对统一身份认证系统的更新升级,以用户需求为导向,为用户提供便利的同时更大程度上保障了用户信息安全,通过挖掘用户使用数据可宏观掌握用户需求,为图书馆信息化的内涵式发展奠定了坚实基础。
来源:《中国教育网络》2024年1月刊
作者:张元俊、张济骞、王馨、赵飞(北京大学图书馆)
责编:陈荣