基于微信UnionID机制实现高校数字服务一体化

时间:2022-07-29 12:09:26

基于微信UnionID机制实现高校数字服务一体化

摘 要: 高校提供基于微信公众号的校园数字服务,其本意是为学生提供方便快捷的个性化服务,但结果却是各部门纷纷创建各自的公众号,互不关联,数目众多,让学生无所适从。通过UnionID机制,结合OAuth授权,可以实现在多个公众号之间互通,即:“一次注册,无限漫游;一次开发,多处通用”,实现基于微信平台的“服务门户”的创建,方便学生获取最新的数字服务。为在高校中合理有效地利用微信平台,开拓创新数字服务提供了一种新的思路。

关键词: UnionID; 微信; OAuth; 服务门户

中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2015)11-19-03

Abstract: Universities to provide the digital campus services based on Wechat public numbers, the intention is to provide convenient and individualized service for students, but is the result of various departments have created their own public numbers, a large number of and unrelated each other, let students at a loss. Through the UnionID mechanism, combined with OAuth authorization, interoperability between multiple public numbers can be achieved, that is: "once registration, unlimited roaming; once development, multiple applying", and a Wechat platform based "service portal" can be created to facilitate students to obtain the latest digital services, which provides a new way for the development of Wechat platform in universities.

Key words: UnionID; Wechat; OAuth; service portal

0 引言

随着近年来我国信息化建设快速的从PC互联网服务向移动互联网演进,对高校信息化服务的方式与方法提出了更高的要求。

因此,高校在进行数字化校园改建或扩建之时,纷纷提出了建设集约化“服务广场”、“服务中心”[5]的理念,同时制定了向移动互联网迁移的建设目标,提出利用移动终端作为移动数字应用服务的载体,在广大师生群体中推广。

随着微信作为最大的移动IM平台的迅速崛起,以及微信公众号的推出和功能的不断完善,利用微信公众号向广大师生提供服务,迅速成为高校移动应用服务的热点,实践证明也大受学生欢迎。但随着高校众多公众号的纷纷申请上线,随之带来的问题就是各项服务被分割至各个公众号内,学生为了使用相关服务不得不去一一添加众多公众号,并且逐一进行身份认证,这严重违背了原本以方便服务师生为目的开发初衷,也与学校建设“服务门户”的理念相背离。

1 目前存在的问题

以微信公众平台为代表的lightAPP[4]类型的高校移动数字应用的快速崛起,反映出其模式贴合了广大师生对方便快捷的移动互联网应用服务的需求[1]。但是经过一段时间的开发推广,我们发现传统的微信应用模式有几大弊端。

随着微信公众号申请认证部门的不断增加,学校里的公众号数目也在同步剧增。以我校为例,仅进行过腾讯官方认证的公众号就有22个之多,尚不包括数目众多的由各二级学院、学生社团所申请认证的微信号。传统的开发模式是基于各自申请的公众号基础上开发相关功能,造成各项服务被割裂在各自封闭的公众帐号内,学生必须关注相关帐号方才能使用相关服务,造成相当不便。

由于大部份高校存在着多种身份认证体系,有传统的一卡通帐号认证、学号密码认证、业务系统密码认证,也有近几年兴起的SSO认证、手机号+短信密码认证等,各个公众号帐号的认证方式也随之多样化,造成了学生每关注一个公众帐号均必须认证一次,非常繁琐。

2 利用UnionID机制解决问题

建立起一套“一次关注、单点绑定、全网漫游”的用户认证及组件共享机制,实现学校师生关注并绑定任意一个公众号,通过“微服务”平台链接即可SSO免登录进入并获取其他所有关联公众号的信息服务,对于解决困扰目前高校微信开发所面临的窘境显得尤为必要。

2.1 基于微信UnionID的学校微平台技术架构

以我校为例,为了彻底解决微信公众平台开发的无序、混乱的情况,以学校数字化校园数据中心及统一身份认证为核心,结合微信的UnionID机制,构建起面向全校微信公众号的微信服务平台。

其整体技术架构如图1所示。

通过获取用户基本信息接口,开发者可通过OpenID来获取用户基本信息,如果开发者拥有多个公众号,可通过UnionID机制在多公众号之间进行用户帐号互通。只要是同一个微信开放平台帐号下的公众号,用户的UnionID是惟一的。换句话说,同一用户,对同一个微信开放平台帐号下的不同应用,UnionID是相同的。

而传统微信开发中的OpenID机制,每个微信用户对应每个公众号只有惟一的OpenID,所以不同微信公众号之间是无法共享用户的基本信息,而UnionID机制,则完美的解决了这个问题。

2.2 UnionID开发过程及实现

进行基于微信UnionID机制开发必须经过以下两步。

第一步,注册微信开放平台http:///,并在管理界面绑定相关公众帐号。

第二步,调用微信高级接口中的“获取用户基本信息”接口[2],获得相关信息。

以我校“杭州科技职业技术学院图书馆”、“杭州科技职业技术学院”两个微信号为例,对同一用户的信息进行获取对比。接口调用返回值如下:

经过仔细比对,对同一用户在不同公众帐号下的openid是不一样的,而unionid却是一致的,这为打通全校公众帐号,实现帐号漫游打下了基础。

2.3 结合OAuth授权机制[3],实现基于微信的服务门户

通过 UnionID打通多个多众号之间帐户信息,当用户在提供“服务门户”的公众号中,点击非关注公众号提供的功能组件页面,如果第三方公众号已经认证并开通了网页授权认证接口,即OAuth机制,在登录未关注公众号的功能组件页时,会出现相关的应用授权界面。其在微信上的显示界面如图2所示。

若用户同意授权,则第三方公众号即可在取得网页access_token的同时,也同步获取到了用户的unionid。通过unionid,用微信提供的官方接口,就可获得用户的基本信息,完成使用第三方功能组件前的用户身份认证及基本信息获取。

通过UnionID机制和OAuth授权机制,结合学校数据中心及统一身份认证建设,即可实现集成其他各公众帐号功能组件的微信服务集成门户。其最终展现结果如图3所示。

3 结束语

本文介绍了微信UnionID机制的原理及开发流程,通过实例介绍并对比了传统微信公众号开发所使用的OpenID机制与UnionID机制的区别及不同。以我校微信服务集成门户建设为例,介绍了通过UnionID机制并集成OAuth授权机制,来完成基于微信的服务集成门户的建设。关于UnionID机制的应用,本文仅研究了在微信公众号开发方面的应用。未来将进一步研究如何将UnionID机制与高校数字化校园数据中心建设及校园门户建设相整合,进一步扩展其应用的领域和范围。更多功能及优化将在今后作进一步研究。

参考文献(References):

[1] 白浩,郝晶晶.微信公众平台在高校教育领域中的应用研究[J].

中国教育信息化,2013.4:78

[2] 谢远超.微信公众号信息服务平台的设计与实现[D].中山大

学硕士学位论文,2014.

[3] 易伟.微信公众平台服务号开发:揭秘九大高级接口[J].机械

工业出版社,2014.

[4] 卢胜男.基于微信公众平台的微型移动课程的设计与研究[D].

上海师范大学硕士学位论文,2014.

[5] 夏凌云,韩立峰,王长庆.利用微信公众平台打造校园信息移

动平台[J].信息技术,2014.2:183

上一篇:Scrum敏捷开发在软件开发综合实训课程中的研究... 下一篇:那人 那山 那食