令牌更新方法、装置、电子设备和介质与流程

allin2024-08-09  101



1.本公开涉及计算机技术领域,尤其涉及网络安全等技术领域,具体涉及一种令牌更新方法、装置、电子设备和介质。


背景技术:

2.oauth(open authorization,开放授权)协议为资源的授权提供了一个安全的、开放且简易的标准,在oauth协议框架下,允许用户(资源拥有者(resource owner))授权第三方应用(或者客户端(client))访问用户存储在资源服务器(resource server)(又可以称为服务提供者)上的资源(如照片、视频、联系人列表等),而无需将用户账号和密码提供给第三方应用,无需分享用户的访问许可或用户的所有资源,即可以控制第三方应用对资源的访问与使用。
3.目前,在使用oauth协议进行资源授权时,通常采用令牌(token)认证的方式进行资源授权,从而可以根据认证后的令牌从资源服务器获取对应资源。其中,令牌具有对应的有效期。在令牌失效时,如果令牌不能及时得到更新,则用户需要重新登录进行授权认证,操作较为繁琐,用户体验不佳。
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.图1为oauth协议的成员和授权原理示意图;
33.图2为客户端使用更新令牌获取新的访问令牌过程示意图;
34.图3为本公开实施例一所提供的令牌更新方法的流程示意图;
35.图4为本公开实施例二所提供的令牌更新方法的流程示意图;
36.图5为本公开所提供的具有握手机制的访问令牌更新过程示意图;
37.图6为本公开实施例三所提供的令牌更新方法的流程示意图;
38.图7为本公开实施例四所提供的令牌更新方法的流程示意图;
39.图8为本公开实施例五所提供的令牌更新方法的流程示意图;
40.图9为本公开实施例六所提供的令牌更新方法的流程示意图;
41.图10为本公开实施例七所提供的令牌更新方法的流程示意图;
42.图11为本公开实施例八所提供的令牌更新装置的结构示意图;
43.图12为本公开实施例九所提供的令牌更新装置的结构示意图;
44.图13示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
45.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
46.目前,oauth协议的成员和授权原理如图1所示,其中,oauth协议的成员包括资源拥有者(resource owner)(即用户)、客户端(client)(即第三方应用平台)、资源服务器(resource server)及认证服务器(authentication server),授权步骤可以包括:
47.(a)资源拥有者(用户)打开客户端以后,客户端要求资源拥有者给予授权。
48.(b)资源拥有者同意给予客户端授权。
49.(c)客户端使用步骤(b)获得的授权信息、认证信息(账号和密码),向认证服务器申请令牌。
50.(d)认证服务器根据认证信息对客户端进行认证,若客户端认证通过,则同意向客户端发放令牌,若客户端认证不通过,则拒绝向客户端发放令牌。
51.(e)客户端使用认证服务器发送的令牌,向资源服务器申请获取资源。
52.(f)资源服务器确认令牌无误,同意向客户端开放与授权信息匹配的资源。
53.其中,认证服务器可以同时向客户端发送两个令牌,一个为用于访问资源服务器中资源的访问令牌(access token),另一个为用于获取新的访问令牌的更新令牌(refresh token)。在访问令牌的有效期到期时,如图2所示,客户端可以根据更新令牌生成更新请求(比如http(hyper text transfer protocol,超文本传输协议)请求),并向认证服务器发送更新请求,以申请获取新的访问令牌。
54.作为一种示例,更新请求中可以包括以下参数:
55.第一,granttype:表示使用的授权模式,该参数的取值可以固定为"refresh_token",为必选项;
56.例如,granttype可以如下所示:
57.grant_type=refresh_token&refresh_token=xgzv3jokf0xwia;其中,字符串“xgzv3jokf0xwia”表示更新令牌的内容。
58.第二,refresh_token:表示早前接收到的更新令牌,必选项。
59.第三,scope:表示申请的授权范围,不能超出客户端上一次申请的授权范围,如果省略该参数,则表示与上一次申请的授权范围一致。
60.相关技术中,在客户端存储的访问令牌失效时,客户端可以根据更新令牌,向认证服务器发送更新请求,认证服务器在接收到该更新请求,并响应于该更新请求,向客户端发送新的访问令牌后,认证服务器储存的更新令牌便失效,即认证服务器在向客户端返回新的访问令牌和新的更新令牌后,认证服务器即将原更新令牌失效。
61.然而,在认证服务器向客户端返回新的访问令牌的过程中,如果新的访问令牌丢失,由于此时原更新令牌已经失效,客户端无法再使用原更新令牌获取新的访问令牌,则用户必须重新登录才能获取新的访问令牌。
62.上述方式,需要用户重新登录来获取新的访问令牌,操作较为繁琐,用户体验不佳,且重复登录,还会影响用户访问资源的效率。
63.例如,在认证服务器向客户端返回新的访问令牌的过程中,如果网络中断,导致客户端没有接收到新的访问令牌,由于此时原更新令牌已经失效,客户端无法再使用原更新令牌获取新的访问令牌,则用户必须重新登录才能获取新的访问令牌。
64.上述情况导致用户需要重新登录,重复进行授权认证,才能获取到新的访问令牌,使得用户无法及时获取资源服务器中对应的资源,用户体验不佳。
65.针对上述问题,本公开提出一种令牌更新方法、装置、电子设备和介质。
66.下面参考附图描述本公开实施例的令牌更新方法、装置、电子设备和介质。
67.图3为本公开实施例一所提供的令牌更新方法的流程示意图。
68.本公开实施例的令牌更新方法,可以应用于认证服务器。
69.如图3所示,该令牌更新方法可以包括以下步骤:
70.步骤301,接收客户端发送的第一更新请求,其中,第一更新请求为客户端存储的第一访问令牌失效时根据第一更新令牌生成的。
71.在示例实施例中,第一访问令牌和第一更新令牌是认证服务器生成,并发送至客户端的,客户端在接收到第一访问令牌和第一更新令牌后,可以将第一访问令牌和第一更新令牌进行关联存储。
72.在示例实施例中,第一访问令牌具有对应的有效期,即该访问令牌具有有效状态的截止时刻。比如,认证服务器可以为第一访问令牌设置有效期,例如认证服务器在生成第一访问令牌和第一更新令牌后,可以为第一访问令牌设置有效期,并将第一更新令牌和具有有效期的第一访问令牌发送至客户端,从而客户端可以将第一更新令牌和具有有效期的第一访问令牌进行对应存储。
73.为了避免用户频繁登录,和/或,为了避免客户端频繁地发送更新请求,而增加认证服务器的处理负担,第一访问令牌的有效期的时长不应设置的较短,比如,第一访问令牌的有效期的时长可以为1h(hour,小时)、1d(day,天)、1w(week,周)等等,本公开对此不做限制。
74.以第一访问令牌的有效期的时长为1d进行示例,假设认证服务器生成第一访问令牌的时刻为某年某月1号的07:56:00,则第一访问令牌的有效状态的截止时刻为该年该月2号的07:56:00。即在到达该年该月2号的07:56:00时,第一访问令牌失效。
75.需要说明的是,该第一访问令牌的有效期的时长可以根据实际应用场景和应用需求进行动态调整,本公开对此不做限制。
76.在示例实施例中,在客户端存储的第一访问令牌到期失效时,客户端可以根据第一更新令牌生成第一更新请求,并向认证服务器发送该第一更新请求,以请求认证服务器更新该第一访问令牌。其中,第一更新请求可以携带第一更新令牌。
77.作为一种示例,以第一更新请求为携带第一更新令牌的http请求进行示例,该第一更新请求中可以包括以下参数:
78.grant_type:表示使用的授权模式。
79.refresh_token:表示第一更新令牌。
80.scope:表示本次申请的授权范围,其中,客户端本次申请的授权范围不可以超出该客户端上一次申请的授权范围,如果省略该参数,则表示本次申请的授权范围与上一次申请的授权范围一致。
81.例如,客户端向认证服务器发送的第一更新请求可以为:
82.post/token http/1.1
83.host:server.example.com
84.authorization:basic czzcagrsa3f0mzpnwdfmqmf0m2jw
85.content-type:application/x-www-form-urlencoded
86.grant_type=refresh_token&refresh_token=jokf0xg5qx2t
87.其中,上述各项的含义为:
88./token:表示认证服务器需要提供的api(application programming interface,应用程序接口)地址,客户端使用post方式请求这个地址;
89.authorization:表示访问受保护资源的授权凭证;
90.content-type:表示第一更新请求的编码格式,为默认表单类型;
91.grant_type:表示使用的授权模式,该参数的取值可以固定为"refresh_token";
92.refresh_token=表示第一更新令牌,第一更新令牌的内容例如为“jokf0xg5qx2t”。
93.在示例实施例中,认证服务器可以接收客户端发送的第一更新请求。
94.需要说明的是,实际应用时,也可以在第一访问令牌即将失效时,根据第一更新令牌生成第一更新请求,即本公开中,客户端可以响应于到达目标时刻,根据第一更新令牌生成第一更新请求,其中,目标时刻处于客户端存储的第一访问令牌的有效状态的截止时刻之前的设定时段内。
95.其中,设定时段的时长为预先设定的,比如,设定时段的时长可以为8分钟、10分钟、15分钟等等,本公开对此并不做限制。
96.仍以上述例子进行示例,假设第一访问令牌的有效状态的截止时刻为某年某月2号的07:56:00,设定时段的时长为10分钟,则设定时段可以为该年该月2号的07:46:00至07:56:00这一时间段,如果目标时刻处于该年该月2号的07:46:00至07:56:00之间,则可以根据该第一访问令牌关联的第一更新令牌生成第一更新请求。
97.步骤302,响应于第一更新令牌有效,对第一更新令牌关联的第一访问令牌进行更新,以得到用于更新第一访问令牌的第二访问令牌。
98.在示例实施例中,认证服务器在接收到第一更新请求后,可以对该第一更新请求进行解析,以得到第一更新令牌。在解析得到第一更新令牌后,可以对第一更新令牌进行校验,以确定第一更新令牌是否有效,且该第一更新令牌的内容是否正确,在确定第一更新令牌有效且第一更新令牌内容校验正确的情况下,可以对第一更新令牌关联的第一访问令牌进行更新,从而得到用于更新第一访问令牌的第二访问令牌。
99.可选地,认证服务器还可以为第二访问令牌设置有效期,即设置第二访问令牌的有效状态的截止时刻。比如,以第二访问令牌的有效期的时长为1d进行示例,假设认证服务器生成第二访问令牌的时刻为某年某月1号的08:00:00,则第二访问令牌的有效期的截止时刻为该年该月2号的08:00:00,即第二访问令牌在该年该月2号的08:00:00失效。
100.步骤303,向客户端发送第一更新响应,其中,第一更新响应包括第二访问令牌。
101.在示例实施例中,认证服务器可以根据第二访问令牌生成第一更新响应,并可以向客户端发送该第一更新响应,其中,第一更新响应可以包括第二访问令牌。
102.步骤304,响应于接收到客户端发送的第一确认响应,设置第一更新令牌的状态为失效状态,其中,第一确认响应为客户端根据第二访问令牌发送的。
103.在示例实施例中,客户端在接收到第一更新响应之后,可以对第一更新响应进行解析,以从第一更新响应中获取第二访问令牌。从而客户端在获取到第二访问令牌后,可以根据第二访问令牌生成第一确认响应,其中,该第一确定响应用于指示客户端已接收到第二访问令牌。客户端在生成第一确认响应后,可以向认证服务器发送该第一确认响应,相应地,认证服务器可以接收客户端发送的该第一确认响应。认证服务器在接收到第一确定响应时,即可确认客户端已经接收到第二访问令牌,此时,由于客户端已经获取到新的访问令牌(即第二访问令牌),可以根据新的访问令牌继续访问资源服务器中的资源,因此,旧的更新令牌(即第一更新令牌)已经没有用处,因此,认证服务器可以将第一更新令牌的状态设置为失效状态。
104.本公开实施例的令牌更新方法,通过接收客户端发送的第一更新请求,其中,第一更新请求为客户端存储的第一访问令牌失效时根据第一更新令牌生成的;响应于第一更新令牌有效,对第一更新令牌关联的第一访问令牌进行更新,以得到用于更新第一访问令牌的第二访问令牌;向客户端发送第一更新响应,其中,第一更新响应包括第二访问令牌;响应于接收到客户端发送的第一确认响应,设置第一更新令牌的状态为失效状态,其中,第一确认响应为客户端根据第二访问令牌发送的。由此,认证服务器是在根据客户端发送的第一确认响应,明确客户端已接收到第二访问令牌的情况下,才失效第一更新令牌,可以避免在客户端未接收到第二访问令牌的情况下,而失效第一更新令牌,导致客户端无法根据第一更新令牌更新第一访问令牌的情况,从而可以避免客户端重复登录的问题,可以有效改善用户的使用体验。
105.为了清楚说明本公开上述实施例中认证服务器是如何生成第一访问令牌和第一更新令牌的,本公开还提出一种令牌更新方法。
106.图4为本公开实施例二所提供的令牌更新方法的流程示意图。
107.如图4所示,该令牌更新方法可以包括以下步骤:
108.步骤401,接收客户端发送的令牌获取请求,其中,令牌获取请求中携带授权信息和认证信息。
109.在示例实施例中,令牌获取请求可以用于获取访问令牌和更新令牌,且令牌获取请求中可以携带授权信息和认证信息。其中,授权信息可以包括申请的资源授权范围、授权类型等信息;认证信息可以包括用户账号和密码等信息,其中,用户账号可以为手机号、邮箱号等,本公开对此不做限制。
110.在示例实施例中,客户端可以向认证服务器发送令牌获取请求,相应地,认证服务器可以接收客户端发送的令牌获取请求,其中,令牌获取请求中可以携带授权信息和认证信息。
111.步骤402,根据认证信息对客户端进行认证。
112.在示例实施例中,认证服务器在接收到令牌获取请求之后,可以对令牌获取请求进行解析,以从令牌获取请求中获取认证信息和授权信息,并可以根据获取到的认证信息对客户端进行认证。
113.步骤403,响应于客户端认证通过,向客户端发送令牌获取响应,其中,令牌获取响应中包括第一访问令牌和第一更新令牌,第一访问令牌用于访问资源服务器中与授权信息匹配的目标资源。
114.在示例实施例中,目标资源可以为资源服务器中与从令牌获取请求中解析到的授权信息相匹配的资源。
115.在示例实施例中,在客户端认证通过的情况下,认证服务器可以根据授权信息生成第一访问令牌,其中,第一访问令牌用于访问资源服务器中与授权信息相匹配的目标资源,并且,认证服务器还可以生成第一更新令牌,其中,第一更新令牌用于对第一访问令牌进行更新。认证服务器在生成第一更新令牌和第一访问令牌后,可以根据第一更新令牌和第一更新令牌生成令牌获取响应,并向客户端发送该令牌获取响应。其中,令牌获取响应中可以包括第一访问令牌和第一更新令牌。
116.在示例实施例的一种可能的实现方式中,在认证服务器生成第一访问令牌和第一更新令牌之后,认证服务器还可以将第一更新令牌的状态设置为有效状态,并可以将第一更新令牌与第一访问令牌进行关联存储。
117.由此,在客户端存储的第一访问令牌失效时,客户端可以根据有效的第一更新令牌,生成更新请求,以请求认证服务器对与第一更新令牌关联的第一访问令牌进行更新,可以避免认证服务器对其他访问令牌进行更新(比如不对与第一更新令牌无关联的访问令牌进行更新),而导致用户信息和资源的泄露的情况,即可以避免错误更新其它访问令牌而导致用户信息和资源的泄露的情况,可以提升用户资源的安全性。
118.步骤404,接收客户端发送的第一更新请求,其中,第一更新请求为客户端存储的第一访问令牌失效时根据第一更新令牌生成的。
119.步骤405,响应于第一更新令牌有效,对第一更新令牌关联的第一访问令牌进行更新,以得到用于更新第一访问令牌的第二访问令牌。
120.步骤406,向客户端发送第一更新响应,其中,第一更新响应包括第二访问令牌。
121.步骤404至406的执行过程可以参见本公开任一实施例的执行过程,在此不做赘述。
122.在示例的任意一个实施例之中,为了进一步避免客户端重复登录的问题,本示例中,认证服务器在对第一更新令牌关联的第一访问令牌进行更新时,还可以对第一更新令
牌进行更新,以得到第二更新令牌,并向客户端发送第二更新令牌。其中,第二更新令牌用于对第二访问令牌进行更新。
123.客户端在接收到第二更新令牌后,可以将第二更新令牌和第二访问令牌进行关联存储,以在客户端存储的第二访问令牌失效时,可以根据可以第二更新令牌生成新的更新请求,并向认证服务器发送上述新的更新请求,以由认证服务器根据上述新的更新请求中的第二更新令牌,对与第二更新令牌关联的第二访问令牌进行更新,得到用于更新第二访问令牌的第三访问令牌。
124.即在示例实施例中,第一更新响应中不仅可以包括第二访问令牌,还可以包括第二更新令牌,其中,第二更新令牌用于对第二访问令牌进行更新。认证服务器可以设置第二更新令牌的状态为有效状态,并可以将第二更新令牌与第二访问令牌进行关联存储。
125.由此,客户端在第二访问令牌失效时,可以根据有效的第二更新令牌,向认证服务器申请更新第二访问令牌,可以实现由认证服务器根据有效的第二更新令牌对第二访问令牌进行及时且有效地更新,以避免客户端通过再次登录的方式来获取更新后的访问令牌。此外,还可以避免第二访问令牌失效,客户端根据与第二访问令牌无关联的第一更新令牌,向认证服务器申请更新第二访问令牌,而导致无法更新第二访问令牌的情况,从而可以进一步避免客户端重复登录的问题。
126.步骤407,响应于接收到客户端发送的第一确认响应,设置第一更新令牌的状态为失效状态,其中,第一确认响应为客户端根据第二访问令牌发送的。
127.步骤407的执行过程可以参见本公开任一实施例的执行过程,再此不做赘述。
128.作为一种示例,客户端和认证服务器之间的交互信息可以如图5所示,其中,认证服务器可以将更新令牌和访问令牌关联存储至远程字典服务redis中。当客户端存储的第一访问令牌(即旧的访问令牌)失效时,客户端可以使用与第一访问令牌关联的第一更新令牌,生成第一更新请求,并向认证服务器发送第一更新请求,其中,第一更新请求用于获取新的访问令牌(即第二访问令牌),以利用该第二访问令牌更新第一访问令牌。在客户端获取到第二访问令牌后,可以同步回调“确认”操作到认证服务器,即客户端可以向认证服务器发送第一确定响应,以向认证服务器指示该客户端已接收到第二访问令牌。认证服务器根据第一确认响应,可明确客户端已经接收到第二访问令牌,此时,可以将第一更新令牌的状态设置为失效状态,即本示例中,可以在客户端和认证服务器之间增加一个双向反馈的握手机制,从而可以避免客户端在未接收到第二访问令牌的情况下,失效第一更新令牌,而导致客户端无法根据第一更新令牌更新第一访问令牌的情况,从而可以避免客户端重复登录的问题,改善用户的使用体验。
129.本公开实施例的令牌更新方法,通过接收客户端发送的令牌获取请求,其中,令牌获取请求中携带授权信息和认证信息;根据认证信息对客户端进行认证;响应于客户端认证通过,向客户端发送令牌获取响应,其中,令牌获取响应中包括第一访问令牌和第一更新令牌,第一访问令牌用于访问资源服务器中与授权信息匹配的目标资源。由此,认证服务器根据客户端发送的认证信息,对客户端进行认证,并只有在客户端认证通过的情况下,才向客户端发送第一访问令牌和第一更新令牌,可以避免资源服务器中的资源被未授权的客户端访问的情况,提升了资源服务器中资源的安全性。并且,第一访问令牌只能用于访问资源服务器中与客户端对应的授权信息匹配的目标资源,可以避免客户端访问资源服务器中未
向该客户端授权的资源,可以提升资源拥有者的资源的安全性。
130.在示例实施例的一种可能的实现方式中,认证服务器还可以设置第一更新令牌的有效期,即设置第一更新令牌的有效状态的截止时刻。比如,认证服务器可以在向客户端发送第一更新响应的同时,设置第一更新令牌的有效状态的截止时刻,即认证服务器可以为第一更新令牌设置对应的有效状态的截止时刻。
131.作为一种示例,认证服务器在向客户端发送第一更新响应的同时,可以根据第二设定时长,设置第一更新令牌的有效状态的截止时刻。其中,第二设定时长可以为预先设定的时长,比如,第二设定时长可以为4分钟、5分钟、6分钟、7分钟等等,本公开对此不做限制。
132.举例而言,假设认证服务器向客户端发送第一更新响应的时刻为08:00:00,第二设定时长为5分钟,则认证服务器可以将第一更新令牌的有效状态的截止时刻设置为08:00:05。
133.在示例实施例中,如果认证服务器在未到达第一更新令牌的截止时刻之前,接收到第一确认响应,则可以在接收到第一更新响应时,设置第一更新令牌的状态为失效状态;而如果认证服务器在到达第一更新令牌的截止时刻时,仍未接收到第一确认响应,则可以响应于到达第一更新令牌的截止时刻,设置第一更新令牌的状态为失效状态。
134.需要说明的是,实际应用时,还可能发生网络异常等情况,上述情况可能导致客户端未成功接收到第一更新响应,此时,客户端还可以继续根据第一更新令牌,向认证服务器发送更新请求,以对第一访问令牌进行更新。相应的,认证服务器在接收到上述更新请求后,可以根据第一更新令牌的有效状态的截止时刻,判断第一更新令牌是否有效,若第一更新令牌有效,则认证服务器可以继续向客户端发送更新后的第二访问令牌,以避免客户端重复登录的问题。下面结合图6,对上述过程进行详细说明。
135.图6为本公开实施例三所提供的令牌更新方法的流程示意图。
136.如图6所示,该令牌更新方法可以包括以下步骤:
137.步骤601,接收客户端发送的第一更新请求,其中,第一更新请求为客户端存储的第一访问令牌失效时根据第一更新令牌生成的。
138.步骤602,响应于第一更新令牌有效,对第一更新令牌关联的第一访问令牌进行更新,以得到用于更新第一访问令牌的第二访问令牌。
139.步骤603,向客户端发送第一更新响应,其中,第一更新响应包括第二访问令牌。
140.步骤601至603的执行过程可以参见本公开任一实施例的执行过程,在此不做赘述。
141.步骤604,响应于未到达第一更新令牌的截止时刻,接收到客户端发送端的第二更新请求,其中,第二更新请求为客户端在发送第一更新请求后的第一设定时长内未接收到第一更新响应的情况下,根据第一更新令牌生成的。
142.在示例实施例中,第一设定时长可以为预先设定的时长,比如,第一设定时长可以为1分钟、2分钟、3分钟等等,本公开对此不做限制。
143.需要说明的是,第二设定时长大于第一设定时长,比如,第一设定时长为2分钟,第二设定时长可以为4分钟、5分钟等等,本公开对此不做限制。
144.在示例实施例中,当客户端在向认证服务器发送第一更新请求后的第一设定时长内未接收到第一更新响应的情况下,该客户端可以再次根据第一更新令牌生成第二更新请
求,其中,第二更新请求用于对与第一更新请求关联的第一访问令牌进行更新。
145.在示例实施例中,当认证服务器在未到达第一更新令牌的截止时刻,接收到客户端发送的第二更新请求时,此时,由于第一更新令牌还未失效,可以执行步骤605。
146.可以理解的是,实际应用时,还可能存在以下情况:在到达第一更新令牌的截止时刻,仍未接收到客户端发送的第二更新请求或第一确认响应的情况,此时,认证服务器可以设置第一更新令牌的状态为失效状态。即在示例实施例的一种可能的实现方式中,当到达第一更新令牌的截止时刻时,认证服务器仍未接收到客户端发送的第二更新请求或第一确认响应,此时,认证服务器可以将第一更新令牌的状态设置为失效状态,即认证服务器可以使第一更新令牌失效,而不是在认证服务器发送第一更新响应时就立即将第一更新令牌的状态设置为失效状态,即适当地延长第一更新令牌的有效期,可以避免相关技术中认证服务器在向客户端发送包括第二访问令牌的第一更新响应后,立即失效第一更新令牌,导致客户端在未接收到第二访问令牌的情况下,无法再根据第一更新令牌更新第一访问令牌的情况,从而可以避免客户端重复登录的问题。
147.步骤605,向客户端发送第二更新响应,其中,第二更新响应包括第二访问令牌。
148.在示例实施例中,在未到达第一更新令牌的截止时刻,接收到客户端发送的第二更新请求的情况下,此时,由于第二更新请求中的第一更新令牌还未失效,因此,认证服务器可以向客户端发送第二更新响应,其中,第二更新响应可以包括步骤602中得到的第二访问令牌。
149.可以理解的是,认证服务器在对第一更新令牌关联的第一访问令牌进行更新时,还可以对第一更新令牌进行更新,以得到第二更新令牌,其中,第二更新令牌用于对第二访问令牌进行更新。认证服务器在生成第二更新令牌后,还可以向客户端发送该第二更新令牌,以在客户端存储的第二访问令牌失效时,客户端可以根据第二更新令牌,向认证服务器申请获取用于更新第二访问令牌的第三访问令牌。因此,在示例实施例的一种可能的实现方式中,第二更新响应中不仅可以包括第二访问令牌,还可以包括第二更新令牌。
150.从而,客户端在接收到第二更新响应后,对第二更新响应进行解析,以得到第二更新令牌和第二访问令牌,并可以将第二更新令牌和第二访问令牌进行关联储存,进而在客户端存储的第二访问令牌失效时,客户端可以根据第二更新令牌重新向认证服务器申请获取用于更新第二访问令牌的第三访问令牌,由此,客户端无需通过再次登录的方式,来获取新的访问令牌,可以降低用户的操作步骤,改善用户的使用体验。此外,还可以避免第二访问令牌失效,客户端根据与第二访问令牌无关联的第一更新令牌,向认证服务器申请更新第二访问令牌,而导致无法更新第二访问令牌的情况,从而可以进一步避免客户端重复登录的问题。
151.在示例实施例的另一种可能的实现方式中,认证服务器在向客户端发送第二更新响应的同时,还可以根据第二设定时长,重新为第一更新令牌设置有效状态的截止时刻。从而当客户端在未接收到第二更新响应的情况下,可以再次根据第一更新令牌,对第一访问令牌进行更新。
152.在示例实施例中,认证服务器在向客户端发送第二更新响应的同时,可以根据第二设定时长,重新设置第一更新令牌的有效状态的截止时刻。例如,假设认证服务器向客户端发送第二更新响应的时刻为08:00:04,第二设定时长为5分钟,则认证服务器可以将第一
更新令牌的有效状态的截止时刻设置为08:00:09。
153.综上,通过认证服务器响应于向客户端发送第二更新响应,重新设置第一更新令牌的有效状态的截止时刻,可以实现适当地延长第一更新令牌的有效期,可以避免在客户端未接收到第二访问令牌的情况下,而失效第一更新令牌,导致客户端无法根据第一更新令牌更新第一访问令牌的情况,从而可以避免客户端重复登录的问题。
154.作为一种示例,如图5所示,客户端可以通过调用获取新的令牌(即第二访问令牌和第二更新令牌)的接口,向认证服务器发送第一更新请求。为了防止客户端未成功获取到第二访问令牌,而失效第一更新令牌,导致客户端无法根据第一更新令牌更新第一访问令牌的情况,本示例中,可以在认证服务器侧设置第一更新令牌的有效期,即设置第一更新令牌的有效状态的截止时刻,比如,可以设置第一更新令牌的有效期的时长(本公开中记为第二设定时长,比如为5分钟),从而可以根据发送第一更新响应的时刻和第二设定时长,设置第一更新令牌的有效状态的截止时刻。
155.如果客户端在发送第一更新请求后的第一设定时长内,未接收到第一更新响应,其中,第一设定时长小于第二设定时长,则客户端可以再次根据第一更新令牌调用获取新的令牌(即第二访问令牌和第二更新令牌)的接口,向认证服务器发送第二更新请求。
156.其中,认证服务器在向客户端发送新的令牌时,可以根据第二设定时长,再次设置第一更新令牌的有效状态的截止时刻,如果客户端在第一更新令牌的截止时刻之前,未接收到新的令牌,则可以继续调用获取新的令牌的接口,向认证服务器发送更新请求。
157.而如果认证服务器在到达第一更新令牌的截止时刻时,仍未接收到第二更新请求,则可以将第一更新令牌失效。认证服务器可以通过更新第一更新令牌在redis中的有效状态的截止时刻(expire值)来刷新该第一更新令牌的有效期。
158.本公开实施例的令牌更新方法,通过响应于未到达第一更新令牌的截止时刻,接收到客户端发送的第二更新请求,向客户端发送第二更新响应,其中,第二更新响应包括第二访问令牌,其中,第二更新请求为客户端在发送第一更新请求后的第一设定时长内未接收到第一更新响应的情况下,根据第一更新令牌生成的。由此,当客户端在发送第一更新请求后的第一设定时长内未接收到第一更新响应时,可以再次向认证服务器发送用于对第一访问令牌进行更新的第二更新请求,从而认证服务器在接收到第二更新请求后,若根据第一更新令牌的截止时刻,确定该第一更新令牌未失效,即未到达第一更新令牌的截止时刻,则认证服务器可以再次向客户端发送包含用于更新第一访问令牌的第二更新令牌的第二更新响应,不仅可以提升客户端获取第二更新令牌的成功率,而且还可以避免客户端在未接收到第二访问令牌的情况下,而失效第一更新令牌,导致客户端无法根据第一更新令牌更新第一访问令牌的情况,从而可以避免客户端重复登录的问题。
159.为了清楚说明本公开上述任一实施例,本公开还提出一种令牌更新方法。
160.图7为本公开实施例四所提供的令牌更新方法的流程示意图。
161.如图7所示,该令牌更新方法可以包括以下步骤:
162.步骤701,接收客户端发送的第一更新请求,其中,第一更新请求为客户端存储的第一访问令牌失效时根据第一更新令牌生成的。
163.步骤702,响应于第一更新令牌有效,对第一更新令牌关联的第一访问令牌进行更新,以得到用于更新第一访问令牌的第二访问令牌。
164.步骤703,向客户端发送第一更新响应,其中,第一更新响应包括第二访问令牌。
165.步骤704,响应于未到达第一更新令牌的截止时刻,接收到客户端发送端的第二更新请求,向客户端发送第二更新响应。
166.其中,第二更新响应包括第二访问令牌。
167.其中,第二更新请求为客户端在发送第一更新请求后的第一设定时长内未接收到第一更新响应的情况下,根据第一更新令牌生成的。
168.步骤701至704的执行过程可以参见本公开任一实施例的执行过程,在此不做赘述。
169.步骤705,响应于未到达第一更新令牌的截止时刻,接收到客户端发送的第二确认响应,设置第一更新令牌的状态为失效状态。
170.其中,第二确认响应是客户端在接收到第二更新响应时生成的,例如,第二确认响应可以是客户端根据第二更新响应中的第二访问令牌生成的,用于指示客户端已接收到第二访问令牌。
171.在示例实施例中,客户端在接收到第二更新响应时,可以对第二更新响应进行解析,以从第二更新响应中获取第二访问令牌。客户端在获取到第二访问令牌之后,可以向认证服务器发送第二确认响应,以指示该客户端已接收到第二访问令牌。
172.在示例实施例中,当认证服务器在未到达第一更新令牌的截止时刻,接收到客户端发送的第二确认响应时,此时,认证服务器可以将第一更新令牌的状态设置为失效状态。
173.步骤706,响应于到达第一更新令牌的截止时刻,且未接收到第二确认响应,设置第一更新令牌的状态为失效状态。
174.在示例实施例中,当认证服务器在到达第一更新令牌的截止时刻,仍未接收到第二确认响应的情况下,此时,认证服务器可以将第一更新令牌的状态设置为失效状态。
175.需要说明的是,当到达第一更新令牌的截止时刻,且认证服务器仍未接收到第二确认响应的情况下,认证服务器才将第一更新令牌的状态设置为失效状态,而不是在认证服务器发送第二更新响应时就立即将第一更新令牌的状态设置为失效状态,即通过延长第一更新令牌的有效期,可以实现在客户端未获取到用于更新第一访问令牌的第二访问令牌时,可以根据有效的第一更新令牌,再次对第一访问令牌进行更新,提升客户端获取第二访问令牌的成功率,从而可以降低客户端重复登录的次数。
176.需要说明的是,步骤705和步骤706为并列的实现方式,实际应用时,可以择一执行。
177.本公开实施例的令牌更新方法,响应于未到达第一更新令牌的截止时刻,接收到客户端发送的第二确认响应,设置第一更新令牌的状态为失效状态,其中,第二确认响应是客户端在接收到第二更新响应时生成的;响应于到达第一更新令牌的截止时刻,且未接收到第二确认响应,设置第一更新令牌的状态为失效状态。由此,认证服务器在确认客户端接收到第二访问令牌时,或者在到达第一更新令牌的截止时刻仍未接收到客户端发送的第二确认响应时,才失效第一更新令牌,而不是在发送第一更新响应和/或第二更新响应时立即失效第一更新令牌,可以避免客户端在未接收到第二访问令牌的情况下,而失效第一更新令牌,导致客户端无法根据第一更新令牌更新第一访问令牌的情况,从而可以避免客户端重复登录的问题。
178.上述为认证服务器执行的各方法实施例,本公开还提出一种由客户端执行的方法实施例。
179.图8为本公开实施例五所提供的令牌更新方法的流程示意图。
180.如图8所示,该令牌更新方法可以包括以下步骤:
181.步骤801,在存储的第一访问令牌失效时,向认证服务器发送第一更新请求,其中,第一更新请求中携带第一更新令牌。
182.在示例实施例中,第一访问令牌和第一更新令牌是认证服务器生成,并发送至客户端的,客户端在接收到第一访问令牌和第一更新令牌后,可以将第一访问令牌和第一更新令牌进行关联存储。
183.在示例实施例中,第一访问令牌具有对应的有效期,即该访问令牌具有有效状态的截止时刻。第一访问令牌的有效期(即有效状态的截止时刻)的解释说明与步骤301中的第一访问令牌的有效期相同,在此不做赘述。
184.在示例实施例中,当客户端存储的第一访问令牌到期失效时,客户端可以根据第一更新令牌生成第一更新请求,并向认证服务器发送该第一更新请求,其中,第一更新请求中可以携带第一更新令牌,用于对第一访问令牌进行更新。
185.需要说明的是,实际应用时,也可以在第一访问令牌即将失效时,根据第一更新令牌生成第一更新请求,即本示例中,客户端可以响应于到达目标时刻,根据第一更新令牌生成第一更新请求,其中,目标时刻处于客户端存储的第一访问令牌的有效状态的截止时刻之前的设定时段内。
186.其中,设定时段的解释说明与步骤301中的设定时段的解释说明相同,在此不做赘述。
187.步骤802,响应于接收到认证服务器发送的第一更新响应,向认证服务器发送第一确认响应。
188.其中,第一更新响应是认证服务器在第一更新令牌有效的情况下,在对第一更新令牌关联的第一访问令牌进行更新,得到用于更新第一访问令牌的第二访问令牌之后,根据第二访问令牌生成的;第一确认响应可以用于认证服务器设置第一更新令牌的状态为失效状态。
189.在示例实施例中,认证服务器在接收到客户端发送的第一更新请求后,可以对该第一更新请求进行解析,以得到第一更新令牌。在解析得到第一更新令牌后,可以对第一更新令牌进行校验,以确定第一更新令牌是否有效,且该第一更新令牌的内容是否正确,在确定第一更新令牌有效且第一更新令牌内容校验正确的情况下,可以对第一更新令牌关联的第一访问令牌进行更新,从而得到用于更新第一访问令牌的第二访问令牌。
190.在示例实施例中,认证服务器在对第一访问令牌更新得到第二访问令牌之后,可以根据第二访问令牌生成第一更新响应,并向客户端发送该第一更新响应,其中,该第一更新响应可以包括上述第二访问令牌。
191.在示例实施例中,客户端可以接收认证服务器发送的第一更新响应。客户端在接收第一更新响应之后,可以对第一更新响应进行解析,以从第一更新响应中获取第二访问令牌。从而客户端在获取到第二访问令牌后,可以根据第二访问令牌生成第一确认响应,其中,该第一确定响应用于指示客户端已接收到第二访问令牌,认证服务器可以将第一更新
令牌的状态设置为失效状态。客户端在生成第一确认响应后,可以向认证服务器发送该第一确认响应。
192.本公开实施例的令牌更新方法,通过在存储的第一访问令牌失效时,向认证服务器发送第一更新请求,其中,所述第一更新请求中携带第一更新令牌;响应于接收到所述认证服务器发送的第一更新响应,向所述认证服务器发送第一确认响应。由此,根据客户端发送的第一确认响应,认证服务器明确客户端已接收到第二访问令牌的情况下,才失效第一更新令牌,可以避免在客户端未接收到第二访问令牌的情况下,而失效第一更新令牌,导致客户端无法根据第一更新令牌更新第一访问令牌的情况,从而可以避免客户端重复登录的问题,可以有效改善用户的使用体验。
193.为了清楚说明本公开上述实施例中客户端是如何获取第一访问令牌和第二访问令牌的,本公开还提出一种令牌更新方法。
194.图9为本公开实施例六所提供的令牌更新方法的流程示意图。
195.如图9所示,该令牌更新方法可以包括以下步骤:
196.步骤901,向认证服务器发送令牌获取请求,其中,令牌获取请求中携带授权信息和认证信息。
197.在示例实施例中,令牌获取请求可以用于获取访问令牌和更新令牌,且令牌获取请求中可以携带授权信息和认证信息。其中,授权信息可以包括申请的资源授权范围、授权类型等信息;认证信息可以包括用户账号和密码等信息,其中,用户账号可以为手机号、邮箱号等,本公开对此不做限制。
198.在示例实施例中,客户端可以生成令牌获取请求,并可以向认证服务器发送该令牌获取请求,以向认证服务器申请获取第一访问令牌和第一更新令牌。
199.步骤902,接收认证服务器发送的令牌获取响应。
200.在示例实施例中,认证服务器在接收到令牌获取请求之后,可以对令牌获取请求进行解析,从令牌获取请求中获取认证信息和授权信息,从而,认证服务器根据获取的认证信息对客户端进行认证。在客户端认证通过后,认证服务器可以根据获取的授权信息生成第一访问令牌,其中,第一访问令牌用于访问资源服务器中与授权信息相匹配的目标资源,并且,认证服务器还可以生成第一更新令牌,其中,第一更新令牌用于对第一访问令牌进行更新。认证服务器在生成第一更新令牌和第一访问令牌后,可以根据第一访问令牌和第一更新令牌生成对应的令牌获取响应,并可以向客户端发送该令牌获取响应。其中,令牌获取响应中可以包括上述第一访问令牌和第一更新令牌。
201.在示例实施例中,客户端可以接收认证服务器发送的该令牌获取响应。
202.步骤903,在存储的第一访问令牌失效时,向认证服务器发送第一更新请求,其中,第一更新请求中携带第一更新令牌。
203.步骤903的执行过程可以参见本公开上述任一实施例的执行过程,在此不做赘述。
204.步骤904,响应于接收到认证服务器发送的第一更新响应,向认证服务器发送第一确认响应。
205.在示例实施例中,认证服务器在接收到客户端发送的第一更新请求之后,可以在第一更新令牌有效的情况下,对第一更新令牌关联的第一访问令牌进行更新,从而得到用于更新第一访问令牌的第二访问令牌,且,认证服务器可以根据第二访问令牌生成第一更
新响应,并可以向客户端发送该第一更新响应。相应地,客户端可以接收该第一更新响应。
206.在示例的任意一个实施例之中,为了进一步避免客户端重复登录的问题,本示例中,第一更新响应中不仅可以包括第二访问令牌,还可以包括第二更新令牌,其中,第二更新令牌是对第一更新令牌进行更新得到的,可以用于对第二访问令牌进行更新。
207.即在本示例中,客户端在接收到包括第二访问令牌和第二更新令牌的第一更新响应之后,可以对第一更新响应进行解析,以从第一更新响应中获取第二访问令牌和第二更新令牌,并可以将第二更新令牌和第二访问令牌进行关联存储。从而在第二访问令牌失效时,客户端可以根据第二更新令牌生成新的更新请求,并向认证服务器发送上述新的更新请求,以由认证服务器根据上述新的更新请求中的第二更新令牌,对与第二更新令牌关联的第二访问令牌进行更新,得到用于更新第二访问令牌的第三访问令牌。
208.由此,客户端在第二访问令牌失效时,可以根据有效的第二更新令牌,向认证服务器申请更新第二访问令牌,可以实现由认证服务器根据有效的第二更新令牌对第二访问令牌进行及时且有效地更新,以避免客户端通过再次登录的方式来获取更新后的访问令牌,可以有效改善用户的使用体验。
209.在示例实施例中,客户端在接收到认证服务器发送的第一更新响应之后,可以生成第一确认响应,并可以向认证服务器发送该第一确认响应,以指示该客户端已接收到用于更新第一访问令牌的第二访问令牌。相应地,认证服务器在接收到该第一确认响应以后,可以确认客户端已经接收到第二访问令牌,此时,可以将第一更新令牌的状态设置为失效状态。
210.作为一种可能的实现方式,在客户端获取第二访问令牌后,且在第二访问令牌未失效的情况下,客户端可以根据第二访问令牌访问资源服务器中的目标资源,其中,目标资源与第二访问令牌对应的授权信息相匹配。
211.由此,客户端可以通过更新后的第二访问令牌再次访问资源服务器中的目标资源,可以满足用户实际的访问需求,并且,上述方式无需用户重复登录以进行授权认证,才能获取到更新后的第二访问令牌,可以节省用户获取资源的时长,改善用户的使用体验。
212.需要说明的是,前述任一实施例对认证服务器执行的方法的解释说明,也适用于该实施例,其实现原理类似,在此不做赘述。
213.本公开实施例的令牌获取方法,通过向认证服务器发送令牌获取请求,其中,令牌获取请求中携带授权信息和认证信息;接收认证服务器发送的令牌获取响应。由此,根据客户端发送的认证信息,认证服务器对客户端进行认证,并只有在客户端认证通过的情况下,才向客户端发送第一访问令牌和第一更新令牌,可以避免资源服务器中的资源被未授权的客户端访问的情况,提升了资源服务器中资源的安全性。并且,第一访问令牌只能用于访问资源服务器中与客户端对应的授权信息匹配的目标资源,可以避免客户端访问资源服务器中未向该客户端授权的资源,可以提升资源拥有者的资源的安全性。
214.在示例实施例的一种可能的实现方式中,第一更新令牌可以具有对应的有效状态的截止时刻,下面结合图10,对上述过程进行详细说明。
215.图10为本公开实施例七所提供的令牌更新方法的流程示意图。
216.如图10所示,该令牌更新方法可以包括以下步骤:
217.步骤1001,在存储的第一访问令牌失效时,向认证服务器发送第一更新请求,其
中,第一更新请求中携带第一更新令牌。
218.步骤1001的执行过程可以参见本公开上述任一实施例的执行过程,在此不做赘述。
219.步骤1002,响应于在发送第一更新请求后的第一设定时长内未接收到第一更新响应,向认证服务器发送第二更新请求,其中,第二更新请求用于对第一访问令牌进行更新。
220.在示例实施例中,第一设定时长可以为预先设定的时长,比如,第一设定时长可以为1分钟、2分钟、3分钟等等,本公开对此不做限制。
221.在示例实施例中,认证服务器在接收到客户端发送的第一更新请求之后,可以对该第一更新请求进行解析,以得到第一更新令牌。在解析得到第一更新令牌后,可以对第一更新令牌进行校验,以确定第一更新令牌是否有效,且该第一更新令牌的内容是否正确,在确定第一更新令牌有效且第一更新令牌内容校验正确的情况下,可以对第一更新令牌关联的第一访问令牌进行更新,从而得到用于更新第一访问令牌的第二访问令牌。认证服务器在生成第二访问令牌后,可以根据第二访问令牌生成第一更新响应,并可以向客户端发送该第一更新响应,其中第一更新响应可以包括第二访问令牌。
222.在示例实施例中,当客户端在向认证服务器发送第一更新请求后的第一设定时长内未接收到第一更新响应的情况下,该客户端可以再次根据第一更新令牌生成第二更新请求,并可以向认证服务器发送该第二更新请求,其中,第二更新请求用于对与第一更新请求关联的第一访问令牌进行更新。
223.步骤1003,响应于接收到认证服务器发送的第二更新响应,向认证服务器发送第二确认响应。
224.在示例实施例中,认证服务器在接收到第二更新请求之后,可以根据第一更新令牌的截止时刻,即是否到达第一更新令牌的截止时刻,判断第一更新令牌是否失效。当未到达第一更新令牌的截止时刻,即认证服务器确定第一更新令牌未失效时,可以生成第二更新响应,并可以向客户端发送该第二更新响应。其中,第二更新响应可以包括第二访问令牌,该第二访问令牌用于对第一更新令牌关联的第一访问令牌进行更新。
225.在示例实施例中,客户端可以接收认证服务器发送的第二更新响应。客户端在接收到第二更新响应之后,可以对第二更新响应进行解析,以从第二更新响应中获取第二访问令牌。从而客户端在获取到第二访问令牌后,可以根据第二访问令牌生成第二确认响应,其中,该第二确定响应用于指示客户端已接收到第二访问令牌。客户端在生成第二确认响应后,可以向认证服务器发送该第二确认消息。相应地,认证服务器可以接收客户端发送的该第一确认响应。认证服务器在接收到第一确定响应时,即可确认客户端已经接收到第二访问令牌。此时,由于客户端已经获取到新的访问令牌(即第二访问令牌),可以根据新的访问令牌继续访问资源服务器中的资源,因此,旧的更新令牌(即第一更新令牌)已经没有用处,因此,认证服务器可以将第一更新令牌的状态设置为失效状态。
226.本公开的令牌更新方法,通过响应于在发送第一更新请求的第一设定时长内未接收到第一更新响应,向认证服务器发送第二更新请求,其中,第二更新请求用于对第一访问令牌进行更新;响应于接收到认证服务器发送的第二更新响应,向认证服务器发送第二确认响应。由此,当客户端在发送第一更新请求后的第一设定时长内未接收到第一更新响应时,可以再次向认证服务器发送用于对第一访问令牌进行更新的第二更新请求,从而认证
服务器在接收到第二更新请求后,若根据第一更新令牌的截止时刻,确定该第一更新令牌未失效,即未到达第一更新令牌的截止时刻,则认证服务器可以再次向客户端发送包含用于更新第一访问令牌的第二更新令牌的第二更新响应,不仅可以提升客户端获取第二更新令牌的成功率,而且还可以避免客户端在未接收到第二访问令牌的情况下,而失效第一更新令牌,导致客户端无法根据第一更新令牌更新第一访问令牌的情况,从而可以避免客户端重复登录的问题。
227.与上述图3至图7实施例提供的令牌更新方法相对应,本公开还提供一种令牌更新装置,由于本公开实施例提供的令牌更新装置与上述图3至图7实施例提供的令牌更新方法相对应,因此在令牌更新方法的实施方式也适用于本公开实施例提供的令牌更新装置,在本公开实施例中不再详细描述。
228.图11为本公开实施例八所提供的令牌更新装置的结构示意图。
229.如图11所示,该令牌更新装置1100可以包括:第一接收模块1101、更新模块1102、第一发送模块1103及第一设置模块1104。
230.其中,第一接收模块1101,用于接收客户端发送的第一更新请求,其中,第一更新请求为客户端存储的第一访问令牌失效时根据第一更新令牌生成的。
231.更新模块1102,用于响应于第一更新令牌有效,对第一更新令牌关联的第一访问令牌进行更新,以得到用于更新第一访问令牌的第二访问令牌。
232.第一发送模块1103,用于向客户端发送第一更新响应,其中,第一更新响应包括第二访问令牌。
233.第一设置模块1104,用于响应于接收到客户端发送的第一确认响应,设置第一更新令牌的状态为失效状态,其中,第一确认响应为客户端根据第二访问令牌发送的。
234.在示例实施例的一种可能的实现方式中,该令牌更新装置1100还可以包括:
235.第二接收模块,用于接收客户端发送的令牌获取请求,其中,令牌获取请求中携带授权信息和认证信息。
236.认证模块,用于根据认证信息对客户端进行认证。
237.第二发送模块,用于响应于客户端认证通过,向客户端发送令牌获取响应,其中,令牌获取响应中包括第一访问令牌和第一更新令牌,第一访问令牌用于访问资源服务器中与授权信息匹配的目标资源。
238.在示例实施例的一种可能的实现方式中,该令牌更新装置1100还可以包括:
239.第二设置模块,用于设置第一访问令牌的状态为有效状态。
240.第一存储模块,用于将第一更新令牌与第一访问令牌进行关联存储。
241.在示例实施例的一种可能的实现方式中,第一更新响应中还包括第二更新令牌,第二更新令牌是对第一更新令牌进行更新得到的,用于对第二访问令牌进行更新,该令牌更新装置1100还可以包括:
242.第三设置模块,用于设置第二更新令牌的状态为有效状态。
243.第二存储模块,用于将第二访问令牌和第二更新令牌进行关联存储。
244.在示例实施例的一种可能的实现方式中,第一更新令牌具有对应的有效状态的截止时刻,该令牌更新装置1100还可以包括:
245.第三发送模块,用于响应于未到达第一更新令牌的截止时刻,接收到客户端发送
的第二更新请求,向客户端发送第二更新响应,其中,第二更新响应包括第二访问令牌;
246.其中,第二更新请求为客户端在发送第一更新请求后的第一设定时长内未接收到第一更新响应的情况下,根据第一更新令牌生成的。
247.在示例实施例的一种可能的实现方式中,第二更新响应还包括第二更新令牌,第二更新令牌是对第一更新令牌进行更新得到的,用于对第二访问令牌进行更新。
248.在示例实施例的一种可能的实现方式中,该令牌更新装置1100还可以包括:
249.第四设置模块,用于根据第二设定时长,重新为第一更新令牌设置有效状态的截止时刻,其中,第二设定时长大于第一设定时长。
250.在示例实施例的一种可能的实现方式中,该令牌更新装置1100还可以包括:
251.第五设置模块,用于响应于未到达第一更新令牌的截止时刻,接收到客户端发送的第二确认响应,设置第一更新令牌的状态为失效状态;
252.其中,第二确认响应是客户端根据第二访问令牌发送的。
253.在示例实施例的一种可能的实现方式中,该令牌更新装置1100还可以包括:
254.第六设置模块,用于响应于到达第一更新令牌的截止时刻,且未接收到第二确认响应,设置第一更新令牌的状态为失效状态。
255.本公开实施例的令牌更新装置,通过接收客户端发送的第一更新请求,其中,第一更新请求为客户端存储的第一访问令牌失效时根据第一更新令牌生成的;响应于第一更新令牌有效,对第一更新令牌关联的第一访问令牌进行更新,以得到用于更新第一访问令牌的第二访问令牌;向客户端发送第一更新响应,其中,第一更新响应包括第二访问令牌;响应于接收到客户端发送的第一确认响应,设置第一更新令牌的状态为失效状态,其中,第一确认响应为客户端根据第二访问令牌发送的。由此,认证服务器是在根据客户端发送的第一确认响应,明确客户端已接收到第二访问令牌的情况下,才失效第一更新令牌,可以避免在客户端未接收到第二访问令牌的情况下,而失效第一更新令牌,导致客户端无法根据第一更新令牌更新第一访问令牌的情况,从而可以避免客户端重复登录的问题,可以有效改善用户的使用体验。
256.与上述图8至图10实施例提供的令牌更新方法相对应,本公开还提供一种令牌更新装置,由于本公开实施例提供的令牌更新装置与上述图8至图10实施例提供的令牌更新方法相对应,因此在令牌更新方法的实施方式也适用于本公开实施例提供的令牌更新装置,在本公开实施例中不再详细描述。
257.图12为本公开实施例九所提供的令牌更新装置的结构示意图。
258.如图12所示,该令牌更新装置1200可以包括:第一发送模块1201及第二发送模块1202。
259.其中,第一发送模块1201,用于在存储的第一访问令牌失效时,向认证服务器发送第一更新请求,其中,第一更新请求中携带第一更新令牌。
260.第二发送模块1202,用于响应于接收到认证服务器发送的第一更新响应,向认证服务器发送第一确认响应;其中,第一更新响应是认证服务器响应于第一更新令牌有效,对第一更新令牌关联的第一访问令牌进行更新,得到用于更新第一访问令牌的第二访问令牌,并根据第二访问令牌生成的;第一确认响应用于认证服务器设置第一更新令牌的状态为失效状态。
261.在示例实施例的一种可能的实现方式中,该令牌更新装置1200还可以包括:
262.第三发送模块,用于向认证服务器发送令牌获取请求,其中,令牌获取请求中携带授权信息和认证信息。
263.第一接收模块,用于接收认证服务器发送的令牌获取响应,其中,令牌获取响应是认证服务器根据认证信息进行认证,在认证通过时生成的,令牌获取响应中包括第一访问令牌和第一更新令牌,第一访问令牌用于访问资源服务器中与授权信息匹配的目标资源。
264.在示例实施例的一种可能的实现方式中,第一更新令牌具有对应的有效状态的截止时刻,该令牌更新装置1200还可以包括:
265.第四发送模块,用于响应于在发送第一更新请求后的第一设定时长内未接收到第一更新响应,向认证服务器发送第二更新请求,其中,第二更新请求用于对第一访问令牌进行更新。
266.第五发送模块,用于响应于接收到认证服务器发送的第二更新响应,向认证服务器发送第二确认响应;其中,第二更新响应是认证服务器根据第一更新令牌的截止时刻,判断第一更新令牌是否失效,在第一更新令牌未失效的情况下生成的,第二更新响应包括第二访问令牌;第二确认响应用于认证服务器设置第一更新令牌的状态为失效状态。
267.在示例实施例的一种可能的实现方式中,第一更新响应中还包括第二更新令牌,第二更新令牌是对第一更新令牌更新得到的,用于对第二访问令牌进行更新。
268.在示例实施例的一种可能的实现方式中,该令牌更新装置1200还可以包括:
269.访问模块,用于在第二访问令牌未失效时,根据第二访问令牌访问资源服务器中的目标资源,其中,目标资源与第二访问令牌对应的授权信息匹配。
270.本公开实施例的令牌更新装置,通过在存储的第一访问令牌失效时,向认证服务器发送第一更新请求,其中,第一更新请求中携带第一更新令牌;响应于接收到认证服务器发送的第一更新响应,向认证服务器发送第一确认响应。由此,根据客户端发送的第一确认响应,认证服务器在明确客户端已接收到第二访问令牌的情况下,才失效第一更新令牌,可以避免在客户端未接收到第二访问令牌的情况下,而失效第一更新令牌,导致客户端无法根据第一更新令牌更新第一访问令牌的情况,从而可以避免客户端重复登录的问题,可以有效改善用户的使用体验。
271.为了实现上述实施例,本公开还提供一种电子设备,该电子设备可以包括至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开上述任一实施例提出的令牌更新方法。
272.为了实现上述实施例,本公开还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开上述任一实施例提出的令牌更新方法。
273.为了实现上述实施例,本公开还提供一种计算机程序产品,该计算机程序产品包括计算机程序,计算机程序在被处理器执行时实现本公开上述任一实施例提出的令牌更新方法。
274.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
275.图13示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
276.如图13所示,电子设备1300包括计算单元1301,其可以根据存储在rom(read-only memory,只读存储器)1302中的计算机程序或者从存储单元1308加载到ram(random access memory,随机访问/存取存储器)1303中的计算机程序,来执行各种适当的动作和处理。在ram 1303中,还可存储电子设备1300操作所需的各种程序和数据。计算单元1301、rom 1302以及ram 1303通过总线1304彼此相连。i/o(input/output,输入/输出)接口1305也连接至总线1304。
277.电子设备1300中的多个部件连接至i/o接口1305,包括:输入单元1306,例如键盘、鼠标等;输出单元1307,例如各种类型的显示器、扬声器等;存储单元1308,例如磁盘、光盘等;以及通信单元1309,例如网卡、调制解调器、无线通信收发机等。通信单元1309允许电子设备1300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
278.计算单元1301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1301的一些示例包括但不限于cpu(central processing unit,中央处理单元)、gpu(graphic processing units,图形处理单元)、各种专用的ai(artificial intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、dsp(digital signal processor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元1301执行上文所描述的各个方法和处理,例如上述令牌更新方法或文本分类方法。例如,在一些实施例中,上述令牌更新方法或文本分类方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1308。在一些实施例中,计算机程序的部分或者全部可以经由rom 1302和/或通信单元1309而被载入和/或安装到电子设备1300上。当计算机程序加载到ram 1303并由计算单元1301执行时,可以执行上文描述的令牌更新方法或文本分类方法的一个或多个步骤。备选地,在其他实施例中,计算单元1301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述令牌更新方法或文本分类方法。
279.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、fpga(field programmable gate array,现场可编程门阵列)、asic(application-specific integrated circuit,专用集成电路)、assp(application specific standard product,专用标准产品)、soc(system on chip,芯片上系统的系统)、cpld(complex programmable logic device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
280.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来
编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
281.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、ram、rom、eprom(electrically programmable read-only-memory,可擦除可编程只读存储器)或快闪存储器、光纤、cd-rom(compact disc read-only memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
282.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(cathode-ray tube,阴极射线管)或者lcd(liquid crystal display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
283.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:lan(local area network,局域网)、wan(wide area network,广域网)、互联网和区块链网络。
284.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(virtual private server,虚拟专用服务器)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
285.其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
286.根据本公开实施例的技术方案,通过接收客户端发送的第一更新请求,其中,第一更新请求为客户端存储的第一访问令牌失效时根据第一更新令牌生成的;响应于第一更新
令牌有效,对第一更新令牌关联的第一访问令牌进行更新,以得到用于更新第一访问令牌的第二访问令牌;向客户端发送第一更新响应,其中,第一更新响应包括第二访问令牌;响应于接收到客户端发送的第一确认响应,设置第一更新令牌的状态为失效状态,其中,第一确认响应为客户端根据第二访问令牌发送的。由此,认证服务器是在根据客户端发送的第一确认响应,明确客户端已接收到第二访问令牌的情况下,才失效第一更新令牌,可以避免在客户端未接收到第二访问令牌的情况下,而失效第一更新令牌,导致客户端无法根据第一更新令牌更新第一访问令牌的情况,从而可以避免客户端重复登录的问题,可以有效改善用户的使用体验。
287.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提出的技术方案所期望的结果,本文在此不进行限制。
288.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

技术特征:
1.一种令牌更新方法,包括:接收客户端发送的第一更新请求,其中,所述第一更新请求为所述客户端存储的第一访问令牌失效时根据第一更新令牌生成的;响应于所述第一更新令牌有效,对所述第一更新令牌关联的所述第一访问令牌进行更新,以得到用于更新所述第一访问令牌的第二访问令牌;向所述客户端发送第一更新响应,其中,所述第一更新响应包括所述第二访问令牌;响应于接收到所述客户端发送的第一确认响应,设置所述第一更新令牌的状态为失效状态,其中,所述第一确认响应为所述客户端根据所述第二访问令牌发送的。2.根据权利要求1所述的方法,其中,在所述接收客户端发送的第一更新请求之前,所述方法还包括:接收所述客户端发送的令牌获取请求,其中,所述令牌获取请求中携带授权信息和认证信息;根据所述认证信息对所述客户端进行认证;响应于所述客户端认证通过,向所述客户端发送令牌获取响应,其中,所述令牌获取响应中包括所述第一访问令牌和所述第一更新令牌,所述第一访问令牌用于访问所述资源服务器中与所述授权信息匹配的目标资源。3.根据权利要求2所述的方法,其中,所述方法还包括:设置所述第一访问令牌的状态为有效状态;将所述第一更新令牌与所述第一访问令牌进行关联存储。4.根据权利要求1所述的方法,其中,所述第一更新响应中还包括第二更新令牌,所述第二更新令牌是对所述第一更新令牌进行更新得到的,用于对所述第二访问令牌进行更新,所述方法还包括:设置所述第二更新令牌的状态为有效状态;将所述第二访问令牌和所述第二更新令牌进行关联存储。5.根据权利要求1所述的方法,其中,所述第一更新令牌具有对应的有效状态的截止时刻,所述方法还包括:响应于未到达所述第一更新令牌的所述截止时刻,接收到所述客户端发送的第二更新请求,其中,所述第二更新请求为所述客户端在发送所述第一更新请求后的第一设定时长内未接收到所述第一更新响应的情况下,根据所述第一更新令牌生成的;向所述客户端发送第二更新响应,其中,所述第二更新响应包括所述第二访问令牌。6.根据权利要求5所述的方法,其中,所述第二更新响应还包括第二更新令牌,所述第二更新令牌是对所述第一更新令牌进行更新得到的,用于对所述第二访问令牌进行更新。7.根据权利要求5所述的方法,其中,在所述向所述客户端发送第二更新响应之后,所述方法还包括:根据第二设定时长,重新为所述第一更新令牌设置有效状态的截止时刻,其中,所述第二设定时长大于所述第一设定时长。8.根据权利要求5-7中任一项所述的方法,其中,在所述向所述客户端发送第二更新响应之后,所述方法还包括:响应于未到达所述第一更新令牌的所述截止时刻,接收到所述客户端发送的第二确认
响应,其中,所述第二确认响应是所述客户端根据所述第二访问令牌发送的;设置所述第一更新令牌的状态为失效状态。9.根据权利要求5-7中任一项所述的方法,其中,在所述向所述客户端发送第二更新响应之后,所述方法还包括:响应于到达所述第一更新令牌的所述截止时刻,且未接收到所述第二确认响应,设置所述第一更新令牌的状态为失效状态。10.一种令牌更新方法,包括:在存储的第一访问令牌失效时,向认证服务器发送第一更新请求,其中,所述第一更新请求中携带第一更新令牌;响应于接收到所述认证服务器发送的第一更新响应,向所述认证服务器发送第一确认响应;其中,所述第一更新响应是所述认证服务器响应于所述第一更新令牌有效,对所述第一更新令牌关联的所述第一访问令牌进行更新,得到用于更新所述第一访问令牌的第二访问令牌,并根据所述第二访问令牌生成的;所述第一确认响应用于所述认证服务器设置所述第一更新令牌的状态为失效状态。11.根据权利要求10所述的方法,其中,在所述向认证服务器发送第一更新请求之前,所述方法还包括:向所述认证服务器发送令牌获取请求,其中,所述令牌获取请求中携带授权信息和认证信息;接收所述认证服务器发送的令牌获取响应,其中,所述令牌获取响应是所述认证服务器根据所述认证信息进行认证,在认证通过时生成的,所述令牌获取响应中包括所述第一访问令牌和所述第一更新令牌,所述第一访问令牌用于访问所述资源服务器中与所述授权信息匹配的目标资源。12.根据权利要求10所述的方法,其中,所述第一更新令牌具有对应的有效状态的截止时刻,所述方法还包括:响应于在发送所述第一更新请求后的第一设定时长内未接收到所述第一更新响应,向所述认证服务器发送第二更新请求,其中,所述第二更新请求用于对所述第一访问令牌进行更新;响应于接收到所述认证服务器发送的第二更新响应,向所述认证服务器发送第二确认响应;其中,所述第二更新响应是所述认证服务器根据所述第一更新令牌的所述截止时刻,判断所述第一更新令牌是否失效,在所述第一更新令牌未失效的情况下生成的,所述第二更新响应包括所述第二访问令牌;所述第二确认响应用于所述认证服务器设置所述第一更新令牌的状态为失效状态。13.根据权利要求10-12中任一项所述的方法,其中,所述第一更新响应中还包括第二更新令牌,所述第二更新令牌是对所述第一更新令牌更新得到的,用于对所述第二访问令牌进行更新。14.根据权利要求10-12中任一项所述的方法,其中,所述方法还包括:在所述第二访问令牌未失效时,根据所述第二访问令牌访问资源服务器中的目标资
源,其中,所述目标资源与所述第二访问令牌对应的授权信息匹配。15.一种令牌更新装置,包括:第一接收模块,用于接收客户端发送的第一更新请求,其中,所述第一更新请求为所述客户端存储的第一访问令牌失效时根据第一更新令牌生成的;更新模块,用于响应于所述第一更新令牌有效,对所述第一更新令牌关联的所述第一访问令牌进行更新,以得到用于更新所述第一访问令牌的第二访问令牌;第一发送模块,用于向所述客户端发送第一更新响应,其中,所述第一更新响应包括所述第二访问令牌;第一设置模块,用于响应于接收到所述客户端发送的第一确认响应,设置所述第一更新令牌的状态为失效状态,其中,所述第一确认响应为所述客户端根据所述第二访问令牌发送的。16.根据权利要求15所述的装置,其中,所述装置还包括:第二接收模块,用于接收所述客户端发送的令牌获取请求,其中,所述令牌获取请求中携带授权信息和认证信息;认证模块,用于根据所述认证信息对所述客户端进行认证;第二发送模块,用于响应于所述客户端认证通过,向所述客户端发送令牌获取响应,其中,所述令牌获取响应中包括所述第一访问令牌和所述第一更新令牌,所述第一访问令牌用于访问所述资源服务器中与所述授权信息匹配的所述目标资源。17.根据权利要求16所述的装置,其中,所述装置还包括:第二设置模块,用于设置所述第一访问令牌的状态为有效状态;第一存储模块,用于将所述第一更新令牌与所述第一访问令牌进行关联存储。18.根据权利要求15所述的装置,其中,所述第一更新响应中还包括第二更新令牌,所述第二更新令牌是对所述第一更新令牌进行更新得到的,用于对所述第二访问令牌进行更新,所述装置还包括:第三设置模块,用于设置所述第二更新令牌的状态为有效状态;第二存储模块,用于将所述第二访问令牌和所述第二更新令牌进行关联存储。19.根据权利要求15所述的装置,其中,所述第一更新令牌具有对应的有效状态的截止时刻,所述装置还包括:第三发送模块,用于响应于未到达所述第一更新令牌的所述截止时刻,接收到所述客户端发送的第二更新请求,向所述客户端发送第二更新响应,其中,所述第二更新响应包括所述第二访问令牌;其中,所述第二更新请求为所述客户端在发送所述第一更新请求后的第一设定时长内未接收到所述第一更新响应的情况下,根据所述第一更新令牌生成的。20.根据权利要求19所述的装置,其中,所述第二更新响应还包括第二更新令牌,所述第二更新令牌是对所述第一更新令牌进行更新得到的,用于对所述第二访问令牌进行更新。21.根据权利要求19所述的装置,其中,所述装置还包括:第四设置模块,用于根据第二设定时长,重新为所述第一更新令牌设置有效状态的截止时刻,其中,所述第二设定时长大于所述第一设定时长。
22.根据权利要求19-21中任一项所述的装置,其中,所述装置还包括:第五设置模块,用于响应于未到达所述第一更新令牌的所述截止时刻,接收到所述客户端发送的第二确认响应,设置所述第一更新令牌的状态为失效状态;其中,所述第二确认响应是所述客户端根据所述第二访问令牌发送的。23.根据权利要求19-21中任一项所述的装置,其中,所述装置还包括:第六设置模块,用于响应于到达所述第一更新令牌的所述截止时刻,且未接收到所述第二确认响应,设置所述第一更新令牌的状态为失效状态。24.一种令牌更新装置,包括:第一发送模块,用于在存储的第一访问令牌失效时,向认证服务器发送第一更新请求,其中,所述第一更新请求中携带第一更新令牌;第二发送模块,用于响应于接收到所述认证服务器发送的第一更新响应,向所述认证服务器发送第一确认响应;其中,所述第一更新响应是所述认证服务器响应于所述第一更新令牌有效,对所述第一更新令牌关联的所述第一访问令牌进行更新,得到用于更新所述第一访问令牌的第二访问令牌,并根据所述第二访问令牌生成的;所述第一确认响应用于所述认证服务器设置所述第一更新令牌的状态为失效状态。25.根据权利要求24所述的装置,其中,所述装置还包括:第三发送模块,用于向所述认证服务器发送令牌获取请求,其中,所述令牌获取请求中携带授权信息和认证信息;第一接收模块,用于接收所述认证服务器发送的令牌获取响应,其中,所述令牌获取响应是所述认证服务器根据所述认证信息进行认证,在认证通过时生成的,所述令牌获取响应中包括所述第一访问令牌和所述第一更新令牌,所述第一访问令牌用于访问所述资源服务器中与所述授权信息匹配的所述目标资源。26.根据权利要求24所述的装置,其中,所述第一更新令牌具有对应的有效状态的截止时刻,所述装置还包括:第四发送模块,用于响应于在发送所述第一更新请求后的第一设定时长内未接收到所述第一更新响应,向所述认证服务器发送第二更新请求,其中,所述第二更新请求用于对所述第一访问令牌进行更新;第五发送模块,用于响应于接收到所述认证服务器发送的第二更新响应,向所述认证服务器发送第二确认响应;其中,所述第二更新响应是所述认证服务器根据所述第一更新令牌的所述截止时刻,判断所述第一更新令牌是否失效,在所述第一更新令牌未失效的情况下生成的,所述第二更新响应包括所述第二访问令牌;所述第二确认响应用于所述认证服务器设置所述第一更新令牌的状态为失效状态。27.根据权利要求24-26中任一项所述的装置,其中,所述第一更新响应中还包括第二更新令牌,所述第二更新令牌是对所述第一更新令牌更新得到的,用于对所述第二访问令牌进行更新。28.根据权利要求24-26中任一项所述的装置,其中,所述装置还包括:访问模块,用于在所述第二访问令牌未失效时,根据所述第二访问令牌访问资源服务
器中的目标资源,其中,所述目标资源与所述第二访问令牌对应的授权信息匹配。29.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法,或者,执行权利要求10-14中任一项所述的方法。30.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法,或者,执行根据权利要求10-14中任一项所述的方法。31.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的方法的步骤,或者,实现根据权利要求10-14中任一项所述方法的步骤。

技术总结
本公开提供了一种令牌更新方法、装置、电子设备和介质,涉及计算机技术领域。具体实现方案为:接收客户端发送的第一更新请求;响应于第一更新令牌有效,对第一更新令牌关联的第一访问令牌进行更新,得到用于更新第一访问令牌的第二访问令牌;向客户端发送第一更新响应;响应于接收到客户端发送的第一确认响应,设置第一更新令牌的状态为失效状态。由此,认证服务器是在根据客户端发送的第一确认响应,明确客户端已接收到第二访问令牌的情况下,才失效第一更新令牌,可以避免在客户端未接收到第二访问令牌的情况下,而失效第一更新令牌,导致客户端无法根据第一更新令牌更新第一访问令牌的情况,从而可以避免客户端重复登录的问题。问题。问题。


技术研发人员:刘少耿 张永乐 张鉴石 李康
受保护的技术使用者:阿波罗智联(北京)科技有限公司
技术研发日:2022.05.05
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-16105.html

最新回复(0)