一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

接口认证方法、装置、计算机设备和存储介质与流程

2021-11-09 21:26:00 来源:中国专利 TAG:


1.本技术涉及互联网技术领域,特别是涉及一种接口认证方法、装置、计算机设备和存储介质。


背景技术:

2.随着互联网技术的深入发展,软件系统已经深入到各个行业的不同场景之中,使得不同系统之间的联系越来越紧密。因此,各种平台、组合系统、单点登陆服务等应运而生,各系统之间进行通讯越发频繁对通讯的安全性和可靠性的要求就越发的高。
3.目前,传统的分布式系统中单点登录的跨平台接口认证,需要部署专门的认证服务器,在客户端上发起的关于业务服务器的接口调用请求都会预先发送至认证服务器,由认证服务器进行业务服务器的接口认证,通过与数据库交互,确认接口调用请求中的信息与数据库中的预存信息是否一致,进而在认证成功后以重定向的方式跳转至对应的业务服务器请求画面。
4.然而,认证服务器的部署方式固定,在接口认证时每次都只能在固定的认证服务器进行认证,存在网络约束性强、负载均衡等问题。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种接口认证方法、装置、计算机设备和存储介质。
6.一种接口认证方法,所述方法应用于第一客户端,所述方法包括:
7.获取存储于所述第一客户端本地的身份认证令牌,所述身份认证令牌为登录所述第一客户端后用于接口认证的身份认证令牌;
8.当通过所述第一客户端成功调用部署第一客户端业务的第一服务器的接口后,响应于跨平台业务处理指令,生成包含所述身份认证令牌的接口调用请求;
9.将所述接口调用请求发送至第二服务器,指示所述第二服务器进行接口调用认证。
10.本实施例中,将身份认证令牌存储于客户端本地,当需要进行接口调用时,生成包含身份认证令牌的接口调用请求,发送至目的服务器进行身份认证,无需部署专门的身份认证服务器,即可实现分布式系统的单点登陆需求,节约了服务器资源成本,同时,每一接口调用的验证都在不同的服务器执行,避免了使用认证服务器的负载均衡问题。
11.在其中一个实施例中,所述获取存储于所述第一客户端本地的身份认证令牌,包括:
12.通过所述第一客户端将用户登录信息发送至第一服务器,指示所述第一服务器根据所述用户登录信息生成身份认证令牌;所述第一服务器为部署所述第一客户端业务的服务器;
13.接收所述第一服务器反馈的所述身份认证令牌,将所述身份认证令牌存储至本
地。
14.本实施例中,通过与第一客户端对应的第一服务器进行用户登录信息的认证并生成对应的可用于接口调用的身份认证令牌,实现在分布式系统中单点登陆和可跨平台接口认证的功能。
15.在其中一个实施例中,所述响应于跨平台业务处理指令,生成包含所述身份认证令牌的接口调用请求,包括:
16.响应于跨平台业务处理指令的触发,获取接口调用请求的数据结构;
17.将所述身份认证令牌封装至所述接口调用请求的数据结构的头部,生成包含所述身份认证令牌的接口调用请求。
18.本实施例中,根据第一客户端的封装,将身份认证令牌封装至接口调用请求的数据结构中,实现接口调用请求的生成,以用于对各业务接口进行调用。
19.在其中一个实施例中,生成包含所述身份认证令牌的接口调用请求之前,所述方法还包括:
20.根据所述身份认证令牌的有效期,判别身份认证令牌的有效性;
21.若所述身份认证令牌具有有效性,则执行所述生成包含所述身份认证令牌的接口调用请求的步骤;
22.若所述身份认证令牌无效,则输出身份认证令牌过期提示信息。
23.本实施例中,第一客户端根据具有时效性的身份认证令牌生成接口调用请求,可以降低被冒用的风险,提高接口调用的安全性。
24.在其中一个实施例中,所述若所述身份认证令牌具有有效性,则生成包含所述身份认证令牌的接口调用请求,包括:
25.根据预设的身份认证令牌有效时长以及记录的所述身份认证令牌的当前有效期起始点,确定所述身份认证令牌的当前有效期;
26.若当前时间在所述当前有效期内,并且所述当前时间距离所述当前有效期的下限时间大于预设时间差阈值,维持所述身份认证令牌的当前有效期,并生成包含所述身份认证令牌的接口调用请求;
27.若当前时间在所述当前有效期内,并且所述当前时间距离所述当前有效期的下限时间小于预设时间差阈值,以所述当前有效期的下限时间作为新的有效期起始点,更新所述身份认证令牌的有效期,并生成包含所述身份认证令牌的接口调用请求。
28.本实施例中,第一客户端对于身份认证令牌的有效期,具有监管更新机制,当用户持续输入操作指令时,第一客户端可以根据判别的身份认证令牌的所处有效期所剩期限,确定是否更新身份认证令牌的有效期,延长身份认证令牌的有效性。
29.一种接口认证方法,其特征在于,所述方法应用于第一服务器,所述方法包括:
30.接收第一客户端发送的用户登录请求,所述用户登录请求中携带用户登录信息;
31.当根据所述用户登录信息成功登录后,确定所述第一客户端对应的用户身份认证信息;
32.根据所述用户身份认证信息以及预设的加密算法,生成身份认证令牌;
33.将所述身份认证令牌发送至所述第一客户端,指示所述第一客户端对所述身份认证令牌进行存储;所述身份证令牌用于通过所述第一客户端响应于跨平台业务处理指令,
生成接口调用请求并发送至第二服务器,指示所述第二服务器进行接口调用认证。
34.本实施例中,第一服务器针对成功登录后的第一客户端的登录信息,确定第一客户端对应的身份认证信息,根据该身份认证信息以及预设的加密算法生成身份认证令牌,反馈至第一客户端进行存储,进而指示第一客户端根据该身份认证令牌进行跨平台的接口调用,实现了单点登陆下的跨平台接口认证。
35.在其中一个实施例中,所述根据所述用户身份认证信息以及预设的加密算法,生成身份认证令牌,包括:
36.获取身份认证令牌的加密算法参数以及身份认证令牌数据结构;
37.将所述加密算法参数添加至所述身份认证令牌数据结构的头部,并将所述用户身份认证信息添加至所述身份认证令牌数据结构的荷载;
38.根据标准加密方式对所述身份认证令牌数据结构的头部和荷载进行加密,得到所述头部密文和荷载密文;
39.根据所述加密算法参数声明的加密方式对所述头部密文和荷载密文进行加密,得到加密后的密文,对所述密文进行加盐组合加密,得到身份认证令牌。
40.本实施例中,通过获取到的身份认证信息以及预设的身份认证令牌的数据结构,通过组合加密的方式进行加密,保证了身份认证信息的安全性。
41.一种接口认证装置,所述装置包括:
42.获取模块,用于获取存储于第一客户端本地的身份认证令牌,所述身份认证令牌为登录所述第一客户端后用于接口认证的身份认证令牌;
43.生成模块,用于当通过所述第一客户端成功调用部署第一客户端业务的第一服务器的接口后,响应于跨平台业务处理指令,生成包含所述身份认证令牌的接口调用请求;
44.发送模块,用于将所述接口调用请求发送至第二服务器,指示所述第二服务器进行接口调用认证。
45.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
46.获取存储于所述第一客户端本地的身份认证令牌,所述身份认证令牌为登录所述第一客户端后用于接口认证的身份认证令牌;
47.当通过所述第一客户端成功调用部署第一客户端业务的第一服务器的接口后,响应于跨平台业务处理指令,生成包含所述身份认证令牌的接口调用请求;
48.将所述接口调用请求发送至第二服务器,指示所述第二服务器进行接口调用认证。
49.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
50.获取存储于所述第一客户端本地的身份认证令牌,所述身份认证令牌为登录所述第一客户端后用于接口认证的身份认证令牌;
51.当通过所述第一客户端成功调用部署第一客户端业务的第一服务器的接口后,响应于跨平台业务处理指令,生成包含所述身份认证令牌的接口调用请求;
52.将所述接口调用请求发送至第二服务器,指示所述第二服务器进行接口调用认证。
53.上述接口认证方法、装置、计算机设备和存储介质,获取存储于第一客户端本地的身份认证令牌,所述身份认证令牌为登录所述第一客户端后用于接口认证的身份认证令牌;当通过所述第一客户端成功调用第一服务器的接口后,响应于跨平台业务处理指令,生成包含所述身份认证令牌的接口调用请求;将所述接口调用请求发送至第二服务器,指示所述第二服务器进行接口调用认证。采用本方法,将身份认证令牌存储于客户端本地,当需要进行接口调用时,生成包含身份认证令牌的接口调用请求,发送至目的服务器进行身份认证,无需部署专门的身份认证服务器,即可实现分布式系统的单点登陆需求,节约了服务器资源成本,同时,每一接口调用的验证都在不同的服务器执行,避免了使用认证服务器的负载均衡问题。
附图说明
54.图1为一个实施例中接口认证方法的应用环境图;
55.图2为一个实施例中接口认证方法的流程示意图;
56.图3为一个实施例中获取身份认证令牌步骤的流程示意图;
57.图4为一个实施例中生成接口调用请求步骤的流程示意图;
58.图5为一个实施例中判别身份认证令牌的有效性的步骤的流程示意图;
59.图6为一个实施例中身份认证令牌维持有效性步骤的流程示意图;
60.图7为一个实施例中接口认证中身份认证令牌认证方法的流程示意图;
61.图8为一个实施例中生成身份认证令牌的步骤的流程示意图;
62.图9为一个实施例中接口认证装置的结构框图;
63.图10为一个实施例中计算机设备的内部结构图。
具体实施方式
64.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
65.本技术提供的接口认证方法,可以应用于如图1所示的分布式系统中。其中,终端102通过网络与多台服务器104进行通信。终端102上下载了各种业务类型的客户端,每一个客户端的业务处理逻辑都对应部署在一台服务器104上,为了实现分布式系统的单点登陆(sso,single sign on),在用户登录终端上部署了第一客户端后,获取存储于第一客户端本地的身份认证令牌,其中,该身份认证令牌为登录第一客户端后用于接口认证的身份认证令牌。当通过第一客户端成功调用部署第一客户端业务的第一服务器的接口后,响应于跨平台业务处理指令,生成包含身份认证令牌的接口调用请求。第一客户端将接口调用请求发送至第二服务器,指示第二服务器进行接口调用认证。
66.其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
67.在一个实施例中,如图2所示,提供了一种接口认证方法,以该方法应用于图1中的运行第一客户端的终端102为例进行说明,包括以下步骤:
68.步骤201,获取存储于第一客户端本地的身份认证令牌。
69.其中,身份认证令牌是用于接口调用时进行身份认证的令牌。
70.具体地,当用户在终端设备上成功登录了第一客户端后,第一客户端会获得第一服务器反馈的身份认证令牌,该身份认证令牌用于在第一客户端调用第一服务器接口时进行身份认证(或称为角色认证),即认证第一客户端所具备的业务权限。因此,当第一客户端接收到身份认证令牌之后,将该身份认证令牌存储于本地存储器中,在需要进行接口调用时,第一客户端从本地存储器中获取该身份认证令牌。
71.步骤202,当通过第一客户端成功调用部署第一客户端业务的第一服务器的接口后,响应于跨平台业务处理指令,生成包含身份认证令牌的接口调用请求。
72.在实施中,当第一客户端成功调用了部署第一客户端业务的第一服务器的接口(即表明第一客户端可以根据业务处理需求调用第一服务器来处理相应的业务)之后,当用户通过第一客户端的显示页面触发跨平台业务处理指令时,第一客户端响应于跨平台业务处理指令,生成包含身份认证令牌的接口调用请求。
73.步骤203,将接口调用请求发送至第二服务器,指示第二服务器进行接口调用认证。
74.在实施中,基于跨平台接口业务处理指令,第一客户端将生成的接口调用请求跨平台发送至第二服务器,即不经过第二客户端的登录认证和接口调用,直接指示第二服务器根据该第一客户端的身份认证令牌对第一客户端进行接口调用认证。例如,在某一购买平台(第一客户端)下单商品,在选中商品进行支付时,则可以通过该购买平台(第一客户端)上付款选项输入对应的跨平台业务处理指令,生成接口调用请求发送至部署支付业务的第二服务器,指示第二服务器对该平台(第一客户端)进行接口调用认证,也即身份权限的认证。
75.可选的,第二服务器可以为任何与第一客户端对应的第一服务器有业务上的合作关系的服务器,本技术实施例不做限定。
76.上述接口认证方法中,获取存储于第一客户端本地的身份认证令牌,身份认证令牌为登录第一客户端后用于接口认证的身份认证令牌;当通过第一客户端成功调用部署第一客户端业务的第一服务器的接口后,响应于跨平台业务处理指令,生成包含身份认证令牌的接口调用请求;将接口调用请求发送至第二服务器,指示第二服务器进行接口调用认证。采用本方法,将身份认证令牌存储于客户端本地,当需要进行接口调用时,生成包含身份认证令牌的接口调用请求,发送至目的服务器进行身份认证,无需部署专门的身份认证服务器,节约了服务器资源成本,同时,每一接口调用的验证都在不同的服务器执行,避免了使用认证服务器的负载均衡问题。
77.在一个实施例中,如图3所示,步骤201中存储于第一客户端的身份认证令牌是由第一服务器反馈得到的,其具体处理过程如下所示:
78.步骤301,通过第一客户端将用户登录信息发送至第一服务器,指示第一服务器根据用户登录信息生成身份认证令牌。
79.其中,第一服务器为部署第一客户端对应业务的服务器。
80.在实施中,用户在进行第一客户端登录时,在第一客户端提供的登录界面输入对应的登录信息,该登录信息可以为用户名和登录密码,然后,第一客户端将接收到的登录信
息发送至第一服务器,指示第一服务器根据用户登录信息生成身份认证令牌。
81.步骤302,接收第一服务器反馈的身份认证令牌,将身份认证令牌存储至本地。
82.在实施中,第一客户端接收第一服务器反馈的身份认证令牌,将该身份认证令牌存储至本地,用于后续不同业务接口调用的身份认证。
83.本实施例中,通过与第一客户端对应的第一服务器进行用户登录信息的认证并生成对应的可用于接口调用的身份认证令牌,实现在分布式系统中单点登陆和可跨平台接口认证的功能。
84.在一个实施例中,如图4所示,步骤202中响应于跨平台业务处理指令,生成包含身份认证令牌的接口调用请求的具体处理过程包括如下步骤:
85.步骤401,响应于跨平台业务处理指令的触发,获取接口调用请求的数据结构。
86.在实施中,第一客户端预先存储有各类接口调用请求的数据结构,响应于跨平台业务处理指令的触发,获取该接口调用请求对应的数据结构(json,javascript object notation,对象简谱),该数据结构是一种轻量级的数据交换格式。
87.步骤402,将身份认证令牌封装至接口调用请求的数据结构的头部,生成包含身份认证令牌的接口调用请求。
88.在实施中,第一客户端根据获取到的身份认证令牌以及接口调用请求的数据结构,将身份认证令牌封装至该数据结构的头部,生成包含身份认证令牌的可用于接口认证的接口调用请求。
89.本实施例中,根据第一客户端的封装,将身份认证令牌封装至接口调用请求的数据结构中,实现接口调用请求的生成,以用于对各业务接口进行调用。
90.在一个实施例中,如图5所示,身份认证令牌具备有效期,因此,在步骤402生成包含身份认证令牌的接口调用请求之前,该方法还包括:
91.步骤501,根据身份认证令牌的有效期,判别身份认证令牌的有效性。
92.在实施中,第一客户端读取该身份认证令牌的有效期,根据该身份认证令牌的有效期的时间范围,确定当前时间是否处于一个有效期内,即判别当前时间下该身份认证令牌的有效性。
93.步骤502,若身份认证令牌具有有效性,则生成包含身份认证令牌的接口调用请求。
94.在实施中,若身份认证令牌具有有效性,则表明当前该身份认证令牌可用于身份认证,因此,执行步骤402中的生成包含身份认证令牌的接口调用请求。
95.步骤503,若身份认证令牌无效,则输出身份认证令牌过期提示信息。
96.在实施中,若身份认证令牌无效,则表明该身份认证令牌已经过期,对应在第一客户端的显示页面上输出身份认证令牌过期提示信息,提示用户当前无法进行各接口的调用。
97.可选的,若接收到身份认证令牌已过期的提示信息后,依然需要继续在第一客户端中进行相应操作,则用户需要重新登陆第一客户端,重新进行身份认证。
98.可选的,除了受到跨平台接口调用指令的触发,第一客户端为保证生成的接口调用请求的有效而验证身份认证令牌的有效性之外,第一客户端还可以实时监控身份认证令牌的有效性,一旦检测到身份认证令牌已经失效,第一客户端就会在显示页面输出对应的
提示信息。
99.本实施例中,第一客户端根据具有时效性的身份认证令牌生成接口调用请求,可以降低被冒用的风险,提高接口调用的安全性。
100.在一个实施例中,如图6所示,步骤502的具体处理过程包括如下步骤:
101.步骤601,根据预设的身份认证令牌有效时长以及记录的身份认证令牌的当前有效期起始点,确定身份认证令牌的当前有效期。
102.在实施中,第一客户端根据预设的身份认证令牌的有效时长以及记录的身份认证令牌的有效期起始点,确定身份认证令牌的当前有效期,例如,身份认证令牌的有效期为5分钟,记录的身份认证令牌的当前所处有效期的起始点为9:00,则该身份认证令牌的当前有效期范围为9:00至9:05。
103.步骤602,若当前时间在当前有效期内,并且当前时间距离当前有效期的下限时间大于预设时间差阈值,维持身份认证令牌的当前有效期,并生成包含身份认证令牌的接口调用请求。
104.在实施中,第一客户端监控身份认证令牌有效期的时间进度,若当前时间在当前有效期范围内且当前时间距离有效期范围的下限时间的时间差大于预设时间差阈值,则表明距离当前有效期的截止时间充足,因此,维持身份认证令牌的当前有效期,并受到跨平台业务处理指令的触发生成包含身份认证令牌的接口调用请求。
105.步骤603,若当前时间在当前有效期内,并且当前时间距离当前有效期的下限时间小于预设时间差阈值,以当前有效期的下限时间作为新的有效期起始点,更新身份认证令牌的有效期,并生成包含身份认证令牌的接口调用请求。
106.在实施中,第一客户端监控身份认证令牌有效期的时间进度,若当前时间在当前有效期范围内,并且当前时间距离有效期范围的下限时间小于预设时间差阈值,则表明当前身份认证令牌虽然有效但是即将到期,因此,受到跨平台业务处理指令的触发,第一客户端以当前有效期的下限时间作为新的有效期的起始点,更新身份认证令牌的有效期,进而根据更新后的身份认证令牌生成接口调用请求。
107.可选的,第一客户端接收到第一服务器反馈的身份认证令牌后,身份认证令牌的有效期更新不仅受到跨平台业务处理指令的触发,其他任意指令都可以触发更新身份认证令牌的有效期,即用户在第一客户端的操作页面内持续进行业务操作,若身份认证令牌的有效期即将结束,有相应的操作指令输入,则表明用户业务处理未完成,其操作指令均会触发身份认证令牌的有效期更新,维持身份认证令牌的有效性。
108.本实施例中,第一客户端对于身份认证令牌的有效期,具有监管更新机制,当用户持续输入操作指令时,第一客户端可以根据判别的身份认证令牌的所处有效期所剩期限,确定是否更新身份认证令牌的有效期,延长身份认证令牌的有效性。
109.在另一个实施例中,提供了接口认证方法,如图7所示,该方法应用于第一服务器,第一服务器为部署了第一客户端对应业务处理逻辑的服务器,该方法包括如下步骤:
110.步骤701,接收第一客户端发送的用户登录请求。
111.其中,用户登录请求中携带用户登录信息。
112.在实施中,第一服务器接收第一客户端发送的用户登录请求,并获取该登录请求中携带的用户登录信息。其中,用户登录信息可以包括用户名(或用户id)和登录密码,也可
以包括可用于登录认证的用户属性信息,本技术实施例不做限定。
113.步骤702,当根据用户登录信息成功登录后,确定第一客户端对应的用户身份认证信息。
114.在实施中,第一服务器接收到用户发送的登录信息后,根据该登录信息验证用户所属的第一客户端的身份是否合法,即将该登录信息与第一服务器的数据库中存储的用户登录信息进行比对,比对结果为登录信息一致,则确定该用户的第一客户端身份合法,进而,当用户成功登录后,第一服务器可以根据登录信息在数据库中查询确定该用户对应的身份认证信息,例如,用户的公共属性信息:id(identity document,身份证标识号)、用户名;用户的私有属性信息:用户角色(例如,会员、非会员、管理员、普通用户)等,另外,身份认证信息还包含身份认证令牌的预设有效期时长,以及身份认证令牌过期时间等信息。因此,对于身份认证信息可以根据身份认证令牌的认证需求进行设定,本技术实施例不做限定。
115.步骤703,根据用户身份认证信息以及预设的加密算法,生成身份认证令牌。
116.在实施中,第一服务器根据用户身份认证信息以及预设的加密算法,生成身份认证令牌。具体的,对于该身份认证令牌可以使用spring security中的bcryptpasswordencoder类进行密码加密和认证。根据该密码加密算法,相同的密码经过处理之后的密文是不同的,增加了身份认证令牌的破解难度。
117.步骤704,将身份认证令牌发送至第一客户端,指示第一客户端对身份认证令牌进行存储。其中,身份证令牌用于通过第一客户端生成接口调用请求并发送至第二服务器,指示第二服务器进行接口调用认证。
118.在实施中,第一服务器将生成的身份认证令牌发送至第一客户端,指示第一客户端对身份认证令牌进行本地存储,并可以通过身份认证令牌进行其他接口调用认证。
119.本实施例中,第一服务器针对成功登录后的第一客户端的登录信息,确定第一客户端对应的身份认证信息,根据该身份认证信息以及预设的加密算法生成身份认证令牌,反馈至第一客户端进行存储,进而指示第一客户端根据该身份认证令牌进行跨平台的接口调用,实现了单点登陆下的跨平台接口认证。
120.在一个实施例中,如图8所示,步骤703中对于生成身份认证令牌的具体处理过程包括如下所示:
121.步骤801,获取身份认证令牌的加密算法参数以及身份认证令牌数据结构。
122.在实施中,第一服务器获取身份认证令牌的加密算法参数以及身份认证令牌的数据结构。具体的,身份认证令牌(json web token)的数据结构包括三部分、头部、荷载和签证,这三个部分的字符串均通过“.”进行连接。第一服务器对身份认证令牌的每一部分进行令牌的生成。
123.步骤802,将加密算法参数添加至身份认证令牌数据结构的头部,并将用户身份认证信息添加至身份认证令牌数据结构的荷载。
124.在实施中,第一服务器将身份认证令牌的类型以及签名所用的加密算法参数添加至身份认证令牌数据结构的头部,同时,将确定出的用户身份认证信息添加至身份认证令牌数据结构的荷载中。具体地,该荷载实质上就是存放身份认证令牌的有效新信息的地方,标准注册声明、公共声明和私有声明等,本技术实施例不做限定。
125.步骤803,根据标准加密方式对身份认证令牌数据结构的头部和荷载进行加密,得到头部密文和荷载密文。
126.在实施中,为创建该身份认证令牌的签证,第一服务器利用标准加密方式(base64加密方式)对身份认证令牌的数据结构的头部(header)和荷载(payload)进行加密,得到头部密文和荷载密文。
127.步骤804,根据加密算法参数声明的加密方式对头部密文和荷载密文进行加密,得到加密后的密文,对密文进行加盐组合加密,得到身份认证令牌。
128.在实施中,第一服务器将头部密文和荷载密文根据加密算法参数声明的加密方式(hs256加密方式)进行加密,得到加密后的密文,然后,对加密后的密文加盐(secret)进行组合加密,得到身份认证令牌的签证,进而根据生成的身份认证令牌的各个部分得到最终的身份认证令牌。
129.本实施例中,通过获取到的身份认证信息以及预设的身份认证令牌的数据结构,通过组合加密的方式进行加密,保证了身份认证信息的安全性。
130.在一个实施例中,提供了一种接口认证的方法,如图9所示,该方法可以应用于上述第一服务器,也可以应用于上述第二服务器,本实施例以第二服务器为例进行举例说明,第二服务器在接收到第一客户端发送的接口调用请求后,解析接口调用请求的头部,判别该接口调用请求中是否包含身份认证令牌(token)。若包含,则在拦截器中获取该身份认证令牌进行身份认证,使用jwt.parse方法进行身份认证令牌的解析。第二服务器可以把用户的属性信息(公有属性和私有属性)解析到claims(声明)对象中进行身份认证令牌的判别。首先判别身份认证令牌的有效性,若身份认证令牌在有效期内,具有有效性。则进一步判别该身份认证令牌的荷载中携带的用户身份认证信息,例如,用户属性信息(用户角色、用户权限等),根据对该用户身份认证信息的判别,确定当前的第一客户端是否具有调用该接口的权限。若该用户具备接口调用权限,则第二服务器响应于跨平台业务处理指令,根据业务逻辑处理数据,并返回对应的处理结果至第一客户端。
131.可选的,若在接口调动请求中判别不包含身份认证令牌,或者存在身份认证令牌,但是身份认证令牌已经过期,再或者身份认证令牌有效,但判别出该身份认证令牌不具备接口调用权限,则第二服务器均会向第一客户端返回403无权限访问的提示信息以提示用户接口调用失败。
132.本实施例中,第二服务器通过认证第一客户端发送的包含身份认证令牌的接口调用请求,判别第一客户端的身份信息以及对应的角色权限,进而为符合接口调用的第一客户端提供相应权限的业务处理,实现了接口调用的安全性。
133.应该理解的是,虽然图2至图6,图7至图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图6,图7至图8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
134.在一个实施例中,如图9所示,提供了一种接口认证装置900,包括:获取模块910、
生成模块920和发送模块930,其中:
135.获取模块910,用于获取存储于第一客户端本地的身份认证令牌,身份认证令牌为登录第一客户端后用于接口认证的身份认证令牌;
136.生成模块920,用于当通过第一客户端成功调用部署第一客户端业务的第一服务器的接口后,响应于跨平台业务处理指令,生成包含身份认证令牌的接口调用请求;
137.发送模块930,用于将接口调用请求发送至第二服务器,指示第二服务器进行接口调用认证。
138.在一个实施例中,获取模块910,具体用于通过所述第一客户端将用户登录信息发送至第一服务器,指示所述第一服务器根据所述用户登录信息生成身份认证令牌;所述第一服务器为部署所述第一客户端业务的服务器;
139.接收所述第一服务器反馈的所述身份认证令牌,将所述身份认证令牌存储至本地。
140.在一个实施例中,生成模块920,具体用于响应于跨平台业务处理指令的触发,获取接口调用请求的数据结构;
141.将所述身份认证令牌封装至所述接口调用请求的数据结构的头部,生成包含所述身份认证令牌的接口调用请求。
142.在一个实施例中,该装置900还包括:
143.判别模块,用于根据所述身份认证令牌的有效期,判别身份认证令牌的有效性;
144.生成模块920,还用于若所述身份认证令牌具有有效性,则执行生成包含所述身份认证令牌的接口调用请求的步骤;
145.输出模块,用于若所述身份认证令牌无效,则输出身份认证令牌过期提示信息。
146.在一个实施例中,生成模块920,具体用于根据预设的身份认证令牌有效时长以及记录的所述身份认证令牌的当前有效期起始点,确定所述身份认证令牌的当前有效期;
147.若当前时间在所述当前有效期内,并且所述当前时间距离所述当前有效期的下限时间大于预设时间差阈值,维持所述身份认证令牌的当前有效期,并生成包含所述身份认证令牌的接口调用请求;
148.若当前时间在所述当前有效期内,并且所述当前时间距离所述当前有效期的下限时间小于预设时间差阈值,以所述当前有效期的下限时间作为新的有效期起始点,更新所述身份认证令牌的有效期,并生成包含所述身份认证令牌的接口调用请求。
149.采用本装置,将身份认证令牌存储于客户端本地,当需要进行接口调用时,生成包含身份认证令牌的接口调用请求,发送至目的服务器进行身份认证,无需部署专门的身份认证服务器,即可实现分布式系统的单点登陆需求,节约了服务器资源成本,同时,每一接口调用的验证都在不同的服务器执行,避免了使用认证服务器的负载均衡问题。
150.关于接口认证装置900的具体限定可以参见上文中对于接口认证方法的限定,在此不再赘述。上述接口认证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
151.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显
示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种接口认证方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
152.本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
153.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
154.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
155.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
156.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
157.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献