移动终端单点登录多业务互联APP的方法及系统与流程

文档序号:12493253阅读:3871来源:国知局
移动终端单点登录多业务互联APP的方法及系统与流程

本发明涉及移动终端上APP的用户登录领域,具体涉及一种移动终端单点登录(SSO,在一个多业务系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有业务系统的信任)多业务互联APP的方法及系统。



背景技术:

随着互联网技术的发展,越来越多的用户喜欢在移动终端上通过APP进行“虚拟业务”(例如网上购物、观看视频等)。用户使用APP之前,需要输入自己独有的唯一标识信息(即用户名和密码),以得知自己的行为记录,便于后续的管理。

但是,用户在移动终端上访问多个APP时,即使多个APP相互关联,也需要针对每个APP各输入一遍唯一标识信息,其操作过程比较繁琐,用户体验较差。



技术实现要素:

针对现有技术中存在的缺陷,本发明解决的技术问题为:用户首次访问APP后,若在指定期限内再次登录APP,即可在无需输入唯一标识信息的情况下,直接访问当前APP、以及该APP关联的其他APP。本发明不仅操作过程比较简单,而且用户体验较好,适于推广。

为达到以上目的,本发明提供的移动终端单点登录多业务互联APP的方法,包括以下步骤:

步骤A:判断服务端中是否存在与移动终端对应的长token,若是,转到步骤C,否则转到步骤B;

步骤B:当前移动终端向服务端发送唯一标识信息,服务端生成与当前移动终端对应的带有使用周期的长token,以及与当前运行的APP对应的带有使用周期的短token后,储存长token和短token,将短token返回至移动终端;

步骤B中长token的生成方式为:根据唯一标识信息和当前移动终端的id,生成长token,通过加密算法将长token进行加密;短token的生成方式为:根据唯一标识信息、当前移动终端的id、以及当前运行的APP的id,生成短token;

步骤C:当长token未过期时,判断服务端中是否存在:同时与长token、以及当前运行的APP对应的短token,若是,转到步骤E,否则转到步骤D;

步骤D:服务端根据当前移动终端的长token、以及当前运行的APP的id,生成短token;服务端储存短token、并将短token返回至移动终端,转到步骤E;

步骤E:服务端按照步骤B中长token的生成方式,重新生成与短token对应的长token;将原有的长token替换为新生成的长token。

与现有技术相比,本发明的优点在于:

本发明在移动终端首次运行APP时(即长token不存在),为移动终端生成长短token、并将长token储存在服务端中,将短token同时储存在服务端和终端设备中。移动终端再次运行APP时,服务端会自动识别对应的短token,进而自动给予移动终端登录和访问APP的权限。

因此,与现有技术中需要针对每个APP各输入一遍唯一标识信息相比,本发明只需要在首次运行某个APP时输入唯一标识信息,即可在登录其他关联的APP,不仅操作过程比较简单,而且用户体验较好,适于推广。

进一步,本发明在长token未过期的状态下,移动终端每次运行APP时均会重新生成长token,进而重新计算长token的使用周期,进而保证经常访问APP的移动终端能够长期访问其他APP,避免也长token过期而重新登录的操作过程,进一步提升了用户体验。

进一步,本发明每次生成长token后均会通过加密算法进行加密,进而保证了用户的唯一标识信息的安全。

附图说明

图1为本发明实施例中移动终端单点登录多业务互联APP的方法的流程图;

图2为本发明实施例中移动终端单点登录多业务互联APP的系统的工作时序图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

首先对移动终端单点登录需要使用的长token(访问认证令牌)和短token的关系进行解释:一个长token可关联多个短token(即一对多),而一个短token只能对应一个长token(即一对一),例如长token代表移动终端,与长token关联的多个短token,则代表相互关联的多个APP(例如隶属于斗鱼服务系统的多个APP)。

在此基础上,参见图1所示,本发明实施例中的移动终端单点登录多业务互联APP的方法,包括以下步骤:

S1:用户运行移动终端上的APP后,移动终端向APP的服务端(服务端基于Oauth2.0技术,Open Authorization,一种开发的协议) 发起访问请求,服务端验证移动终端通过后,转到S2。

S1中服务端验证移动终端通过的具体流程为:服务端获取移动终端的id和请求域名,当移动终端的id存在于服务端的redis(开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库)中、且请求域名存在于服务端的白名单中时,确定移动终端验证通过。

S2:服务端在redis中获取与当前移动终端的id对应的身份认证数据(Oauth数据),判断是否存在与当前身份认证数据对应的长token,若是,转到S4,否则确定当前移动终端为无登录状态,断开与当前移动终端的连接,转到S3。

S3:当前移动终端向服务端发送用户输入的唯一标识信息(用户名和密码);服务端按照S1的方式验证移动终端通过后(断开连接后需要重新验证),生成与当前移动终端对应的带有使用周期(例如6个月)的长token,以及与当前运行的APP对应的带有使用周期(例如3天)短token。将短token和加密后的长token转换为规定的格式并储存后,将短token返回至移动终端,转到S7。

S3中长token生成方式为:根据唯一标识信息和当前移动终端的id,生成对应的带有使用周期的长token,通过MD5(Message Digest Algorithm MD5,中文名为消息摘要算法)加密算法将长token进行加密(加密参数自定义设置)。

S3中短token的生成方式为:根据唯一标识信息、当前移动终端的id、以及当前运行的APP的id,生成对应的带有使用周期的短token。

S4:当长token未过期时(即长token的储存时间小于等于长token的使用周期,若长token过期则直接跳转至S3),判断服务端中是否存在:同时与长token、以及当前运行的APP对应的短token(即短token未过期),若是,当前移动终端向服务端发送短token验证请求,服务端验证短token合法后,转到S6,否则转到S5。

S5:当前移动终端向服务端发送短token生成请求,服务端根据当前移动终端的长token、以及当前运行的APP的id,生成短token,将短token转换为规定的格式后储存,将短token返回至移动终端,转到S6。

S6:按照S3的方式重新生成与短token对应的长token(即重新计算长token的使用周期,进而实现无限延长常用户登录状态)后,将原有的长token替换为新生成的长token,转到S7。

S7:移动终端获取短token对应的唯一标识信息,根据唯一标识信息直接登录和访问APP。

参见图2所示,本发明实施例中的移动终端单点登录多业务互联APP的系统,包括设置于移动终端上的单点登录模块、以及设置于服务端上的单点登录验证模块和长短token生成模块。

单点登录模块用于以下5种情形:

(1)需要使用APP时,向单点登录验证模块发送登录状态验证信号;

(2)收到单点登录验证模块返回的无登录状态信号后,向单点登录验证模块发送唯一标识信息;

(3)收到单点登录验证模块返回的短token存在信号后,向单点登录验证模块发送短token验证请求;

(4)收到单点登录验证模块返回的短token不存在信号后,向单点登录验证模块发送短token生成请求;

(5)收到单点登录验证模块返回的短token后,获取短token对应的唯一标识信息,根据唯一标识信息直接登录和访问APP。

单点登录验证模块用于以下3种情形:

(1)收到单点登录模块发送的登录状态验证信号后:

当不存在与移动终端对应的长token时,或者存在与移动终端对应的长token、且长token过期时,向单点登录模块返回无登录状态信号;将单点登录模块发送的唯一标识信息,转发至长短token生成模块;

当存在与移动终端对应的长短token、且长token未过期(长token的储存时间小于等于长token的使用周期),向单点登录模块返回短token存在信号;收到单点登录模块发送的短token验证请求后验证token,验证通过后向长短token生成模块发送长token更新信号;

当存在与移动终端对应的未过期的长token、且不存在与移动终端运行的APP对应的短token时,向单点登录模块返回短token不存在信号;收到单点登录模块发送的短token生成请求后,将短token关联的长token发送至长短token生成模块;

(2)收到长短token生成模块返回的长token后,通过MD5加密算法将长token进行加密(加密参数自定义设置),将原有的长token替换为加密后的长token;

(3)收到长短token生成模块返回的短token后,储存短token、并将短token返回至单点登录模块。

长短token生成模块用于以下3种情形:

(1)收到单点登录验证模块转发的唯一标识信息后,生成与移动终端对应的带有使用周期的长token,以及与移动终端运行的APP对应的带有使用周期的短token,返回长短token至单点登录验证模块;

(2)收到单点登录验证模块发送的长token更新信号后,重新生成长token,将重新生成的长token返回至单点登录验证模块;

(3)收到单点登录验证模块发送的长token后,生成与移动终端运行的APP对应的短token,返回新生成的短token及其对应的长token至单点登录验证模块;

长短token生成模块生成长token的方式为:根据唯一标识信息和当前移动终端的id,生成长token;生成短token的方式为:根据唯一标识信息、当前移动终端的id、以及当前运行的APP的id,生成短token。

进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1