一种实现移动APP用户在单一设备登录的方法技术

技术编号:16177829 阅读:30 留言:0更新日期:2017-09-09 05:18
本发明专利技术公开了一种实现移动APP用户在单一设备登录的方法,对每一个登录的用户维护一个令牌栈,并约定合法令牌与非法令牌在令牌栈中的位置,同一账号在不同设备的移动APP上登录,将按约定的令牌位置对合法令牌与非法令牌进行相应的更新,而在APP端发起的业务请求中,根据令牌栈对其所携带用户令牌的校验,将直接对令牌的有效期、合法性做出判断,特别的将对账户在不同设备APP的登录做出限制,实现了账户在单一设备上登录后业务请求的唯一性,降低了账户的安全风险,提高了APP系统的可靠性。

【技术实现步骤摘要】
一种实现移动APP用户在单一设备登录的方法
本专利技术涉及计算机技术与平台安全
,特别涉及一种实现移动APP用户在单一设备登录的方法。
技术介绍
在移动互联网迅猛普及的大环境下,移动应用快速发展,同时也面临着众多的挑战与问题,其中一个常见问题就是用户账号的安全性问题,实现用户在单一设备的登录是用户账号安全的基本保障。从业务层面考虑,如果没有账号在单一设备登录的机制,那么用户在多设备登录后,在同时请求业务操作时,就会出现业务数据的紊乱与冲突,更严重的甚至可能引发整个系统崩溃,造成难以想象的后果;从用户账号安全与唯一性的层面考虑,用户在正常情况下不会在多设备同时登陆并请求业务,用户需要的恰恰是系统能对其账号在其他设备的登录进行限制,以保障其账号信息的安全性。本专利技术将为移动APP用户在单一设备的安全登录与业务操作提供一套高效的解决方案。
技术实现思路
本专利技术的目的是实现移动APP用户在单一设备登录的方法,通过为每个用户维护一个令牌栈,来存放用户的合法令牌、非法令牌、过期令牌等,根据用户登录操作行为管理并调整用户各种令牌的位置,校验传入令牌的合法性,通过MAC地址协助实现账号在单一设备登录的有效性。为了达到上述的技术效果,本专利技术采取以下技术方案:一种实现移动APP用户在单一设备登录的方法,包括以下步骤:步骤S1、用户首次登陆,创建并初始化令牌栈,向APP端返回令牌;根据用户首次成功登陆操作所获得的数据,为用户创建一个地址唯一的令牌栈,并将首次登陆生成的合法令牌PUSH到这个令牌栈,以此作为用户令牌栈的初始化操作;同时为每一个令牌栈中的令牌创建一个存储用户详细资料的子令牌,并向APP端返回首次登陆生产的合法令牌。步骤S2、用户非首次登陆,对用户令牌栈的元素进行变更,并向APP端返回令牌,对于同一个账号,与上次登录相比,分为同一设备登录与不同设备登录两种情况,具体如下:b1.与最近一次成功登录相比,若账号在同一个APP端的设备上登录,服务端将本次登录所上报的设备MAC地址与内存数据库中,用户合法令牌所对应用户资料中的MAC地址进行匹配,匹配成功后,将令牌栈中合法令牌位置的元素更新为本次登录所生产的最新用户令牌,也就是用户最新的合法令牌,操作成功后存储用户令牌对应的用户资料子令牌,并向APP端返回本次成功登录生成的最新用户令牌;b2.与最近一次成功登录相比,若账号在不同APP端的设备上登录,服务端将本次登录所上报的设备MAC地址与内存数据库中,用户合法令牌所对应用户资料中的MAC地址进行匹配,匹配失败后后,将令牌栈中合法令牌位置的元素更新为本次登录所生产的最新用户令牌,并将上次登录的用户合法令牌挤到令牌栈中的第二个位置,即非法令牌的位置,并向APP端返回本次成功登录生成的最新用户令牌。步骤S3、服务端对APP端业务请求时的令牌进行校验,以判断用户本次登录所上报的令牌是否合法,具体包含以下子步骤:c1.服务端拦截APP端上报的用户令牌,并根据用户名查询出令牌栈中用户的合法令牌,以及非法令牌;c2.若c1中的合法令牌与非法令牌均不存在,那么用户的令牌栈已被清空,表明用户上报令牌已超出有效期,当前令牌过期,向APP端返回令牌过期的错误信息,提示APP端用户重新登录;c3.若c1中的合法令牌不为空,则将合法令牌与上报令牌进行匹配,匹配成功则校验通过,为APP端的业务请求放行,同时查询令牌对应的用户资料子令牌,以辅助业务请求的处理;c4.若c3中令牌匹配失败,则将上报令牌与非法令牌进行匹配,匹配失败则表明上报令牌超过有效期,向APP端返回令牌过期的错误信息,提示APP端用户重新登录;c5.若c4中与非法令牌的匹配成功,则表明当前账号已在其他设备登录,当前令牌为非法令牌,向APP端返回令牌非法的错误信息,提示APP端用户账号已在其他设备登录,建议重新登录,或账号安全受到威胁,提示其找回密码或联系APP管理员。进一步的技术方案是:一种实现移动APP用户在单一设备登录的方法,步骤S1具体通过以下子步骤实现:a1.APP端收集用户输入的用户名、密码,以及设备的MAC地址,向服务端发起登录请求;a2.服务端拦截APP端上报的用户名、密码、设备MAC地址,在用户名、MAC地址的合法性校验通过后,判断密码的正确性;a3.若密码错误,则向APP端返回密码错误的提示信息;若密码正确,则查询用户详细信息,获取生成令牌与子令牌所需数据;a4.根据a3中的必要数据,生成用户令牌与用户资料子令牌;a5.将带有APP端业务相关的标识字符串与登录名字符串拼接作为KEY,以a4中生成的用户令牌作为VALUE向内存数据库发起创建用户令牌栈并初始化令牌栈的请求,并在操作完成后,以用户令牌作为KEY,以a4中生成的子令牌为VALUE,发起子令牌的存储请求;a6.内存数据库创建用户令牌栈,并将首次登陆生成的合法令牌PUSH到令牌栈,操作成功后,存储对应的用户资料子令牌;a7.将a4中生成的用户合法令牌以及APP端其他业务所需的用户信息返回给APP端。进一步的技术方案是:一种实现移动APP用户在单一设备登录的方法,令牌栈中的用户令牌与其对应的子令牌是一对一从属关系,且它们的有效期相同,令牌有效期根据业务需求设定。进一步的技术方案是:一种实现移动APP用户在单一设备登录的方法,令牌栈与子令牌存储于内存中,或内存数据库如Redis中。进一步的技术方案是:一种实现移动APP用户在单一设备登录的方法,令牌栈中用户令牌包含的数据有加密密码、令牌有效期等,通过加密算法处理后,得到一个BASE64字符串,即用户令牌;子令牌包含了用户的详细资料数据,有用户名、用户类型、登陆设备的MAC地址、以及APP业务相关的用户信息,通过加密算法处理后,得到一个BASE64字符串,即用户令牌对应的储存资料的子令牌。进一步的技术方案是:设定令牌栈中最顶端的令牌为用户合法令牌;第二个令牌为用户非法令牌,即账号被那些在其他设备登录所挤下线时的令牌;其他位置的令牌为无效令牌。本专利技术与现有技术相比,具有以下的有益效果:本专利技术公开的实现移动APP用户在单一设备登录的方法,对每一个登录的用户维护一个令牌栈,并约定合法令牌与非法令牌在令牌栈中的位置,同一账号在不同设备的移动APP上登录,将按约定的令牌位置对合法令牌与非法令牌进行相应的更新,而在APP端发起的业务请求中,根据令牌栈对其所携带用户令牌的校验,将直接对令牌的有效期、合法性做出判断,特别的将对账户在不同设备APP的登录做出限制,实现了账户在单一设备上登录后业务请求的唯一性,降低了账户的安全风险,提高了APP系统的可靠性。附图说明图1为本专利技术方法的流程图;图2为本专利技术方法的流程结构示意图。具体实施方式下面结合本专利技术的实施例对本专利技术作进一步的阐述和说明。实施例:一种实现移动APP用户在单一设备登录的方法,如图1、图2所示,包括以下步骤:步骤S1、根据用户首次成功登陆操作所获得的数据,为用户创建一个地址唯一的令牌栈300,并将首次登陆生成的合法令牌301PUSH到这个令牌栈,以此作为用户令牌栈的初始化操作,合法令牌即图2中的301,同时为每一个令牌栈中的令牌创建一个存储用户详细资料的子令牌3011。具体包含的流程有:a1、APP端100收集用户输本文档来自技高网...
一种实现移动APP用户在单一设备登录的方法

【技术保护点】
一种实现移动APP用户在单一设备登录的方法,其特征在于,包括以下步骤:步骤S1、用户首次登陆,创建并初始化令牌栈,向APP端返回令牌;根据用户首次成功登陆操作所获得的数据,为用户创建一个地址唯一的令牌栈,并将首次登陆生成的合法令牌PUSH到这个令牌栈,以此作为用户令牌栈的初始化操作;同时为每一个令牌栈中的令牌创建一个存储用户详细资料的子令牌,并向APP端返回首次登陆生产的合法令牌;步骤S2、用户非首次登陆,对用户令牌栈的元素进行变更,并向APP端返回令牌,对于同一个账号,与上次登录相比,分为同一设备登录与不同设备登录两种情况,具体如下:b1.与最近一次成功登录相比,若账号在同一个APP端的设备上登录,服务端将本次登录所上报的设备MAC地址与内存数据库中,用户合法令牌所对应用户资料中的MAC地址进行匹配,匹配成功后,将令牌栈中合法令牌位置的元素更新为本次登录所生产的最新用户令牌,也就是用户最新的合法令牌,操作成功后存储用户令牌对应的用户资料子令牌,并向APP端返回本次成功登录生成的最新用户令牌;b2.与最近一次成功登录相比,若账号在不同APP端的设备上登录,服务端将本次登录所上报的设备MAC地址与内存数据库中,用户合法令牌所对应用户资料中的MAC地址进行匹配,匹配失败后后,将令牌栈中合法令牌位置的元素更新为本次登录所生产的最新用户令牌,并将上次登录的用户合法令牌挤到令牌栈中的第二个位置,即非法令牌的位置,并向APP端返回本次成功登录生成的最新用户令牌;步骤S3、服务端对APP端业务请求时的令牌进行校验,以判断用户本次登录所上报的令牌是否合法,具体包含以下子步骤:c1.服务端拦截APP端上报的用户令牌,并根据用户名查询出令牌栈中用户的合法令牌,以及非法令牌;c2.若c1中的合法令牌与非法令牌均不存在,那么用户的令牌栈已被清空,表明用户上报令牌已超出有效期,当前令牌过期,向APP端返回令牌过期的错误信息,提示APP端用户重新登录;c3.若c1中的合法令牌不为空,则将合法令牌与上报令牌进行匹配,匹配成功则校验通过,为APP端的业务请求放行,同时查询令牌对应的用户资料子令牌,以辅助业务请求的处理;c4.若c3中令牌匹配失败,则将上报令牌与非法令牌进行匹配,匹配失败则表明上报令牌超过有效期,向APP端返回令牌过期的错误信息,提示APP端用户重新登录;c5.若c4中与非法令牌的匹配成功,则表明当前账号已在其他设备登录,当前令牌为非法令牌,向APP端返回令牌非法的错误信息,提示APP端用户账号已在其他设备登录,建议重新登录,或账号安全受到威胁,提示其找回密码或联系APP管理员。...

【技术特征摘要】
1.一种实现移动APP用户在单一设备登录的方法,其特征在于,包括以下步骤:步骤S1、用户首次登陆,创建并初始化令牌栈,向APP端返回令牌;根据用户首次成功登陆操作所获得的数据,为用户创建一个地址唯一的令牌栈,并将首次登陆生成的合法令牌PUSH到这个令牌栈,以此作为用户令牌栈的初始化操作;同时为每一个令牌栈中的令牌创建一个存储用户详细资料的子令牌,并向APP端返回首次登陆生产的合法令牌;步骤S2、用户非首次登陆,对用户令牌栈的元素进行变更,并向APP端返回令牌,对于同一个账号,与上次登录相比,分为同一设备登录与不同设备登录两种情况,具体如下:b1.与最近一次成功登录相比,若账号在同一个APP端的设备上登录,服务端将本次登录所上报的设备MAC地址与内存数据库中,用户合法令牌所对应用户资料中的MAC地址进行匹配,匹配成功后,将令牌栈中合法令牌位置的元素更新为本次登录所生产的最新用户令牌,也就是用户最新的合法令牌,操作成功后存储用户令牌对应的用户资料子令牌,并向APP端返回本次成功登录生成的最新用户令牌;b2.与最近一次成功登录相比,若账号在不同APP端的设备上登录,服务端将本次登录所上报的设备MAC地址与内存数据库中,用户合法令牌所对应用户资料中的MAC地址进行匹配,匹配失败后后,将令牌栈中合法令牌位置的元素更新为本次登录所生产的最新用户令牌,并将上次登录的用户合法令牌挤到令牌栈中的第二个位置,即非法令牌的位置,并向APP端返回本次成功登录生成的最新用户令牌;步骤S3、服务端对APP端业务请求时的令牌进行校验,以判断用户本次登录所上报的令牌是否合法,具体包含以下子步骤:c1.服务端拦截APP端上报的用户令牌,并根据用户名查询出令牌栈中用户的合法令牌,以及非法令牌;c2.若c1中的合法令牌与非法令牌均不存在,那么用户的令牌栈已被清空,表明用户上报令牌已超出有效期,当前令牌过期,向APP端返回令牌过期的错误信息,提示APP端用户重新登录;c3.若c1中的合法令牌不为空,则将合法令牌与上报令牌进行匹配,匹配成功则校验通过,为APP端的业务请求放行,同时查询令牌对应的用户资料子令牌,以辅助业务请求的处理;c4.若c3中令牌匹配失败,则将上报令牌与非法令牌进行匹配,匹配失败则表明上报令牌超过有效期,向APP端返回令牌过期的错误信息,提示APP端用户重新登录;c...

【专利技术属性】
技术研发人员:康钟荣李伟
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1