用于获取接口访问权限的鉴定方法、服务端及存储介质与流程

文档序号:14879897发布日期:2018-07-07 09:29阅读:140来源:国知局

本发明涉及鉴权领域,尤其涉及用于获取接口访问权限的鉴定方法、鉴权服务端及计算机可读存储介质。



背景技术:

随着信息安全技术的不断发展,验证用户是否拥有访问服务端或接口的权利的鉴权技术也在不断更新。目前当用户需要登录服务端获取数据时,需要在首次登录时通过登录用的客户端注册用户名和密码以请求登录,服务端收到请求后验证密码和用户名,如果验证成功,服务端端会签发一个固定的令牌给客户端。后续使用时通过该令牌作为鉴权的钥匙每次向服务端请求资源时带着服务端签发的令牌即可访问。但是如果不清楚请求方是谁的情况下,请求方没有用户名和密码则无法获取令牌,还需要新注册用户名和密码,鉴权速度慢。



技术实现要素:

本发明的主要目的在于提供一种用于获取接口访问权限的鉴定方法、鉴权服务端和计算机可读存储介质,旨在解决首次登录时需要在客户端注册用户名和密码,鉴权速度慢的技术问题。

为实现上述目的,本发明提供一种用于获取接口访问权限的鉴定方法,包括步骤:

服务端响应客户端发起的鉴权请求,并确定所述鉴权请求的类型,所述鉴权请求的类型包括首次鉴权请求以及二次鉴权请求;其中,所述首次鉴权请求包括固定码和第一时间戳,所述二次鉴权请求包括服务端反馈的随机数;

在所述鉴权请求为首次鉴权请求时,所述服务端判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件;

在所述固定码和所述第一时间戳符合预设鉴权条件时,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数;

在所述鉴权请求为二次鉴权请求时,所述服务端判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配;

在所述二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数。

可选地,所述动态更新的随机数序列中的随机数的数量为固定的预设值,每个所述随机数为18个字符长度,且均由阿拉伯数字和/或字母随机组合而成,每间隔预设时间所述服务端按照预设顺序更新替换掉所述随机数序列中的一个随机数;

所述服务端基于动态更新的随机数序列创建令牌的步骤包括:

所述服务端从固定数量的随机数序列中选择更新时间最近的随机数;

所述服务端根据所述被选择的随机数创建所述令牌。

可选地,所述服务端根据所述被选择的随机数创建所述令牌的步骤包括:

所述服务端通过aes对称加密算法对第二时间戳以及所述被选择的随机数进行加密以得到所述令牌。

可选地,其中,所述第二时间戳为当前服务端选择更新时间最近的随机数时所对应的时间。

可选地,所述在所述鉴权请求为二次鉴权请求时,所述服务端判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配的步骤之后,还包括:

当所述二次鉴权请求中的所述随机数与所述随机数序列中的任一个随机数均不匹配时,所述服务端确定所述接口访问权限获取失败;

所述服务端反馈重置鉴权命令至所述客户端,以供所述客户端重新发起首次鉴权请求。

可选地,所述二次鉴权请求还包括第三时间戳;

所述在二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功的步骤包括:

在二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,判断所述二次鉴权请求中的所述第三时间戳是否与随机数序列中匹配的随机数对应的时间范围匹配;

当所述二次鉴权请求中的所述第三时间戳与随机数序列中匹配的随机数对应的时间范围匹配时,确定所述接口访问权限获取成功。

可选地,所述服务端判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件的步骤包括:

所述服务端判断所述首次鉴权请求中的所述固定码是否与预存固定码匹配;

当所述首次鉴权请求中的所述固定码与预存固定码匹配时,判断所述首次鉴权请求中的所述第一时间戳与当前服务端的服务端时间的差值是否在预设范围;其中,当所述第一时间戳与当前服务端的服务端时间的差值在预设范围内时,所述固定码和所述第一时间戳符合预设鉴权条件。

此外,为实现上述目的,本发明还提供一种鉴权服务端,用于鉴定接口访问的权限,包括:

确定模块,用于响应客户端发起的鉴权请求,并确定所述鉴权请求的类型,所述鉴权请求的类型包括首次鉴权请求以及二次鉴权请求;其中,所述首次鉴权请求包括固定码和第一时间戳,所述二次鉴权请求包括服务端反馈的随机数;

第一判断模块,用于在所述鉴权请求为首次鉴权请求时,判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件;

第一创建模块,用于在所述固定码和所述第一时间戳符合预设鉴权条件时,基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数;

第二判断模块,还用于在所述鉴权请求为二次鉴权请求时,判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配;

第二创建模块,用于在所述二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数。

此外,为实现上述目的,本发明还提供一种鉴权服务端,用于鉴定接口访问的权限,所述鉴权服务端包括:通信模块、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的用于获取接口访问权限的鉴定方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的用于获取接口访问权限的鉴定方法的步骤。

本发明提出的一种用于获取接口访问权限的鉴定方法、鉴权服务端及计算机可读存储介质,通过服务端响应客户端发起的鉴权请求,并确定所述鉴权请求的类型,所述鉴权请求的类型包括首次鉴权请求以及二次鉴权请求;其中,所述首次鉴权请求包括固定码和第一时间戳,所述二次鉴权请求包括服务端反馈的随机数;在所述鉴权请求为首次鉴权请求时,所述服务端判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件;在所述固定码和所述第一时间戳符合预设鉴权条件时,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数;在所述鉴权请求为二次鉴权请求时,所述服务端判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配;在所述二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数。从而无需在客户端上注册用户名和密码以获取令牌实现鉴权,广泛适用于批量大规模鉴权的情况。再者,由于减少了注册用户名和密码的过程,因此提升了鉴权速度。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的结构示意图;

图2为本发明用于获取接口访问权限的鉴定方法第一实施例的流程示意图;

图3为本发明用于获取接口访问权限的鉴定方法第一实施例中步骤s20的细化流程示意图;

图4为本发明用于获取接口访问权限的鉴定方法第二实施例中步骤s30的细化流程示意图;

图5为本发明用于获取接口访问权限的鉴定方法第三实施例的流程示意图;

图6为本发明用于获取接口访问权限的鉴定方法第四实施例中步骤s50的细化流程示意图;

图7为本发明鉴权服务端的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参照图1,图1为本发明各个实施例中的鉴权服务端100的硬件结构示意图,在本发明所提供的鉴权服务端100中,可以包括通信模块10、存储器20及处理器30等部件。所述鉴权服务端100与客户端通信连接,所述鉴权服务端100可以是单独的专用于鉴定权限的系统,也可以是服务器,还可以是监控数据收集平台。其中,所述处理器30分别与所述存储器20和所述通信模块10连接,所述存储器20上存储有计算机程序,所述计算机程序同时被处理器30执行。

通信模块10,可通过网络与外部设备连接。通信模块10可以接收外部通讯设备发出的请求,还可广播事件、指令及信息至所述外部通讯设备。所述外部通讯设备可以是客户端或其他服务器,所述客户端例如可以是手机、电脑及电视机等电子设备。可选地,所述客户端上可以安装数据上报插件,用于将收集的数据上报给鉴权服务端100,还可以用于发送请求、接收信息以及调用接口获取数据。

存储器20,可用于存储软件程序以及各种数据。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如鉴定权限)等;存储数据区可包括数据库,存储数据区可存储根据鉴权服务端100的使用所创建的数据或信息等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

处理器30,是鉴权服务端100的控制中心,利用各种接口和线路连接整个鉴权服务端100的各个部分,通过运行或执行存储在存储器20内的软件程序和/或模块,以及调用存储在存储器20内的数据,执行鉴权服务端100的各种功能和处理数据,从而对鉴权服务端100进行整体监控。处理器30可包括一个或多个处理单元;优选的,处理器30可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器30中。

尽管图1未示出,但上述鉴权服务端100还可以包括电路控制模块,用于与电源连接,保证其他部件的正常工作。所述鉴权服务端100还可以包括显示模块,用于从存储器20中提取数据进行前端页面和后端数据的展示。

本领域技术人员可以理解,图1中示出的鉴权服务端结构并不构成对鉴权服务端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

基于上述硬件结构,提出本发明方法各个实施例。

参照图2,在本发明用于获取接口访问权限的鉴定方法的第一实施例中,所述方法包括步骤:

步骤s10,服务端响应客户端发起的鉴权请求,并确定所述鉴权请求的类型,所述鉴权请求的类型包括首次鉴权请求以及二次鉴权请求;其中,所述首次鉴权请求包括固定码和第一时间戳,所述二次鉴权请求包括服务端反馈的随机数;

鉴权(authentication)是指验证用户是否拥有访问的权限。在本实施例中,客户端需要获取接口访问权限时会发起鉴权请求,所述鉴权请求可以为http(hypertexttransportprotocol,超文本传输协议)请求,服务端响应该鉴权请求后将确定鉴权请求的类型,其中,确认鉴权请求类型的方法可以根据鉴权请求包括的内容进行区分,或者还可以在鉴权请求中设置标识符进行区分。

当客户端首次申请访问api(applicationprogramminginterface,应用程序编程接口)或其他服务端接口时,或者客户端发送二次鉴权请求后权限获取失败时,可以向服务端发送包括固定码和第一时间戳的首次鉴权请求。当客户端首次鉴权通过,或者发起二次鉴权请求后权限获取成功时,可以发起包括服务端反馈的随机数的二次鉴权请求。

可选地,所述固定码和第一时间戳以及服务端反馈的随机数均可以存储在鉴权请求头部。需要说明的是,其中的固定码是指固定的字符,时间戳(timestamp)是指能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间,本实施例中第一时间戳可以指鉴权请求的发生时间。

步骤s20,在所述鉴权请求为首次鉴权请求时,所述服务端判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件;若是,则执行步骤s30;

可以按照接口的类型设定对应的预设鉴权条件,也可以仅设置一种预设鉴权条件。根据所述预设鉴权条件对首次鉴权请求中的固定码和第一时间戳进行判断的过程可以是:首先判断首次鉴权请求中的固定码和存储在存储器中的预存固定码是否匹配,当固定码与预存固定码匹配时,验证第一时间戳与当前服务端的服务端时间的差值是否在预设范围内,例如预设范围是3分钟。其中,判断固定码和存储在存储器中的预存固定码是否匹配的过程可以是判断固定码是否与多个预存固定码中的任一个一致,当一致时表示固定码与存储器中的预存固定码匹配。

请一并参照图3,所述步骤s20的步骤可以是:

步骤s21,所述服务端判断所述首次鉴权请求中的所述固定码是否与预存固定码匹配;若是,则执行步骤s22,;

步骤s22,判断所述首次鉴权请求中的所述第一时间戳与当前服务端的服务端时间的差值是否在预设范围;其中,当所述第一时间戳与当前服务端的服务端时间的差值在预设范围内时,所述固定码和所述第一时间戳符合预设鉴权条件。

步骤s30,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数;

当首次鉴权请求中的固定码和第一时间戳符合预设鉴权条件时,第一次鉴权通过,此时接口访问权限不放开,服务端将根据动态更新的随机数创建包含一随机数的令牌,然后将该令牌反馈给客户端。进一步地,客户端接收到令牌后,还可以获取其中的随机数用于发起二次鉴权请求。

可选地,为了提高传输过程中令牌的安全性还可以对创建的令牌进行加密,例如可以采用md5哈希算法进行加密,还可以采用加盐加密以及非对称加密算法进行加密等。相应地,如果服务端返回的令牌是经过加密的,那么客户端也需要通过相同的加密算法的密钥对返回的令牌进行解密,从而得到解密的令牌中的随机数。

步骤s40,在所述鉴权请求为二次鉴权请求时,所述服务端判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配;若是,则执行步骤s50;

在客户端发送的鉴权请求为二次鉴权请求时,该二次鉴权请求中包括服务端返回给所述客户端的令牌中的一随机数。服务端判断所述二次鉴权请求中包含的随机数与当前服务端中动态更新的随机数序列中的任一随机数是否匹配,例如当前服务端的随机数序列由n个动态更新的随机数构成,每间隔m分钟将按照预设顺序更新随机数序列中的若干个随机数,当二次鉴权请求中的随机数与当前服务端中n个随机数中至少一个相同,则可以认为二次鉴权请求中包含的随机数与当前服务端中更新的随机数匹配;反之,如果都不相同,则可以认为服务端中动态更新的随机数序列中的随机数与二次鉴权请求中的随机数均不匹配,可能是因为发送二次鉴权请求的时间距离前一次发送鉴权请求的时间比较长,服务端的随机数已经全部更新,此时二次鉴权失败,可以确定接口访问权限获取失败。

步骤s50,确定所述接口访问权限获取成功,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数。

当二次鉴权请求中的随机数与动态更新的随机数序列中的任一随机数匹配,表示客户端与当前服务端正在进行数据交互,且交互时间在服务端的所有随机数需要更新的时间内,当前验证有效,可以确定接口访问权限获取成功。

通过将固定码和第一时间戳作为首次鉴权验证的钥匙,相比通过客户端注册用户名和密码,无需提交注册流程,而且固定码和时间戳能增强签名难度,因此提高了鉴权的安全性和鉴权速度,适合大批量的鉴权且不知道请求方是谁的情况。此外,由于二次鉴权请求中由服务端创建的令牌中包括从动态更新的随机数序列中选择的一随机数,因此进一步使得用于验证是否可以获取接口访问权限的令牌具备随机性,也提高了接口访问权限鉴定的安全性。

进一步地,请继续参照图2,在其他实施例中,当所述步骤s20的判断结果为“所述固定码和所述第一时间戳不符合预设鉴权条件”时,执行步骤s60;

所述步骤s60,所述服务端确定所述接口访问权限获取失败。

其中当首次鉴权请求中的第一时间戳与当前服务端的服务端时间的差值不在预设范围内时或者当首次鉴权请求中的固定码与预存固定码不匹配时,该客户端确定接口访问权限获取失败。进一步地,还可以在确定接口权限获取失败后,监听客户端是否发起新的鉴权请求。通过过滤不符合预设鉴权条件的鉴权请求,帮助提高了接口访问的门槛,排除了不安全的客户端。

进一步地,基于本发明用于获取接口访问权限的鉴定方法的第一实施例提出本发明用于获取接口访问权限的鉴定方法的第二实施例,在本实施例中,所述动态更新的随机数序列中的随机数的数量为固定的预设值,每个随机数为18个字符长度,且均由阿拉伯数字和/或字母随机组合而成,每间隔预设时间所述服务端将按照预设顺序更新替换掉所述随机数序列中的一个随机数,例如随机数序列中的一个随机数可以为dfsdu2fsfio85jf842。

参见图4,所述步骤s30可以包括:

步骤s31,所述服务端从固定数量的随机数序列中选择更新时间最近的随机数;

步骤s32,所述服务端根据所述被选择的随机数创建所述令牌。

若干个随机数可以存放在存储器中以表或堆栈等形式进行存放,摆放随机数的顺序可以是随机的,也可以按照更新时间进行摆放。例如,在若干个随机数组成的随机数序列中,随机数的更新时间是一分钟,可以按照从上到下的顺序,每分钟更新一个随机数。假设当前箭头指向的位置对应的是30秒前更新的随机数,其他随机数上次更新时对应的更新时间都超过了30秒,可以是1分30秒,2分30秒等等,此时则选择当前箭头指向的位置对应更新的随机数用于创建令牌。

通过设置长达18个字符长度,由数字和/或字母组成的动态更新的若干个随机数,并选择更新时间最近的随机数用于创建包含该随机数的令牌,能减小随机数的泄露,增强鉴权的安全性。

进一步地,在其他实施例中,所述步骤s32还可以包括:

所述服务端通过aes对称加密算法对第二时间戳以及所述被选择的随机数进行加密以得到所述令牌。

需要说明的是,为了防止在请求过程中服务端或客户端被攻击,使攻击者了解到令牌的生成规则,可以采用aes对称加密算法对第二时间戳以及选择的随机数进行加密,得到处理后的字符串,这样攻击者就无法轻易的破解令牌,加强了数据资源的安全性。

其中,所述第二时间戳为当前服务端选择更新时间最近的随机数时所对应的时间,可选地,还可以在客户端发起二次鉴权请求时将第二时间戳与被选择的随机数一起存入二次鉴权请求中,以使得服务端在进行被选择的随机数的标准判断后,还可以进一步确认第二时间戳是否符合时间范围,例如确认是否与当前随机数序列中与被选择的随机数匹配的随机数的更新时间对应。

需要说明的是,所述aes(theadvancedencryptionstandard)对称加密算法是指美国国家标准与技术研究所使用于加密电子数据的规范,aes是一个迭代的、对称密钥分组的密码,可以使用128、192、256密钥,并用16字节分组加密和解密数据。

进一步地,客户端在发送首次鉴权请求时也可以先将固定码和第一时间戳经过aes对称加密,然后将加密后的字符串发送给所述客户端。通过使用aes对称加密算法进行加密处理,使得黑客无法得知其规律,提高了校验安全性。

进一步地,基于本发明用于获取接口访问权限的鉴定方法的第一实施例提出本发明用于获取接口访问权限的鉴定方法的第三实施例,参见图5,在本实施例中,当所述步骤s40的判断结果为“所述二次鉴权请求中的所述随机数与所述随机数序列中的任一个随机数均不匹配”时,则执行以下步骤:

步骤s70,所述服务端确定所述接口访问权限获取失败;

本实施例是对第一实施例的进一步细化,本实施例的技术方案与第一实施例相比,其区别在于本实施例中新增了随机数与当前随机数序列中的任一随机数均不匹配后的情况。

若二次鉴权请求中的所述随机数与所述随机数序列中的任一个随机数均不匹配,则表示二次鉴权请求距离前一次鉴权请求的时间已经超过了随机数序列中全部随机数的更新时间,在此更新时间内发起二次鉴权请求的客户端与服务端没有进行交互,接口访问权限过期,或者可能本身申请二次鉴权的客户端为非法客户端,此时接口访问权限获取失败。

步骤s80,所述服务端反馈重置命令至所述客户端,以供所述客户端重新发起鉴权请求。

服务端可以在确定接口访问权限获取失败后,反馈重置命令至客户端,使客户端重新发起鉴权请求。可选地,客户端可以重新确认固定码和第一时间戳,也可以选择原本首次鉴权请求中的固定码和第一时间戳用于发起鉴权请求。

通过在二次鉴权失败后,反馈重置命令给客户端,使客户端及时了解鉴权结果,加快鉴权速度。

进一步地,基于本发明用于获取接口访问权限的鉴定方法的第一实施例提出本发明用于获取接口访问权限的鉴定方法的第四实施例,参见图6,在本实施例中,所述二次鉴权请求还包括第三时间戳;

所述步骤s50包括:

步骤s51,判断所述二次鉴权请求中的所述第三时间戳是否与随机数序列中匹配的随机数对应的时间范围匹配;若是,则执行步骤s52;

步骤s52,确定所述接口访问权限获取成功。

在本实施例中,可以在返回的二次鉴权请求中也添加时间戳进行验证,仅当二次鉴权请求中的随机数与第三时间戳均与服务端中对应的内容匹配时,才确定接口访问权限获取成功。其中,所述第三时间戳可以是创建令牌时的第二时间戳,也可以是二次鉴权请求的发生时间。

需要说明的是,服务端中与二次鉴权请求中的随机数及第三时间戳对应的内容之间也可以存在关联关系,即是服务端的随机数序列中所匹配的随机数对应有一定的时间范围。通过第三时间戳的对应验证,提高了接口权限获取的安全性。

本发明还提供一种鉴权服务端,用于鉴定接口访问的权限,参见图7,包括:

确定模块10,用于响应客户端发起的鉴权请求,并确定所述鉴权请求的类型,所述鉴权请求的类型包括首次鉴权请求以及二次鉴权请求;其中,所述首次鉴权请求包括固定码和第一时间戳,所述二次鉴权请求包括服务端反馈的随机数;

第一判断模块20,用于在所述鉴权请求为首次鉴权请求时,判断所述首次鉴权请求中的所述固定码和所述第一时间戳是否符合预设鉴权条件;

第一创建模块30,用于在所述固定码和所述第一时间戳符合预设鉴权条件时,基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数;

第二判断模块40,还用于在所述鉴权请求为二次鉴权请求时,判断所述客户端发送的二次鉴权请求中的所述随机数是否与当前服务端中的动态更新的随机数序列中的任一个随机数匹配;

第二创建模块50,用于在所述二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,确定所述接口访问权限获取成功,所述服务端基于动态更新的随机数序列创建令牌,并将创建的所述令牌返回给所述客户端,所述令牌包含一随机数。

在另一实施例中,所述动态更新的随机数序列中的随机数的数量为固定的预设值,每个所述随机数为18个字符长度,且均由阿拉伯数字和/或字母随机组合而成,每间隔预设时间所述服务端按照预设顺序更新替换掉所述随机数序列中的一个随机数;

所述第一创建模块30,包括:

选择单元31,用于从固定数量的随机数序列中选择更新时间最近的随机数;

创建单元32,用于根据所述被选择的随机数创建所述令牌。

在又一实施例中,所述创建单元32,还用于通过aes对称加密算法对第二时间戳以及所述被选择的随机数进行加密以得到所述令牌。

在又一实施例中,所述第二时间戳为当前服务端选择更新时间最近的随机数时所对应的时间。

在又一实施例中,所述鉴权服务端还包括反馈模块60:

所述确定模块10,还用于当所述二次鉴权请求中的所述随机数与所述随机数序列中的任一个随机数均不匹配时,确定所述接口访问权限获取失败;

所述反馈模块60,用于反馈重置鉴权命令至所述客户端,以供所述客户端重新发起首次鉴权请求。

在又一实施例中,所述二次鉴权请求还包括第三时间戳;

所述第二创建模块50包括:

第一判断单元51,用于在二次鉴权请求中的所述随机数与当前服务端中的动态更新的随机数序列中的一个随机数匹配时,判断所述二次鉴权请求中的所述第三时间戳是否与随机数序列中匹配的随机数对应的时间范围匹配;

确定单元52,用于当所述二次鉴权请求中的所述第三时间戳与随机数序列中匹配的随机数对应的时间范围匹配时,确定所述接口访问权限获取成功。

在又一实施例中,所述第一判断模块20包括:

第二判断单元21,用于判断所述首次鉴权请求中的所述固定码是否与预存固定码匹配;

第三判断单元22,用于当所述首次鉴权请求中的所述固定码与预存固定码匹配时,判断所述首次鉴权请求中的所述第一时间戳与当前服务端的服务端时间的差值是否在预设范围;其中,当所述第一时间戳与当前服务端的服务端时间的差值在预设范围内时,所述固定码和所述第一时间戳符合预设鉴权条件。

本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述用于获取接口访问权限的鉴定方法的全部步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者服务端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者服务端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者服务端中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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