一种token过期自动续签认证方法、装置、设备和介质制造方法及图纸

技术编号:35878559 阅读:18 留言:0更新日期:2022-12-07 11:17
本发明专利技术提供一种token过期自动续签认证方法、装置、设备和介质,方法包括:将web客户端的通信模块封装;web客户端通信模块发起请求时候,携带token进行数据请求;得到返回状态码;web客户端通信模获取状态码,若状态码表示正常状态,则直接将数据返回web客户端渲染层;若状态码表示异常状态,则拦截异常接口,并返回一个的Promise实例,该Promise实例是一个开启重新续签token请求,获取最新token,更新保存web客户端缓存的token,使用最新token和拦截的首个异常接口请求信息,重新发起请求,返回请求结果给web客户端渲染层;可以减少频繁判断token是否过期,减少请求量。减少请求量。减少请求量。

【技术实现步骤摘要】
一种token过期自动续签认证方法、装置、设备和介质


[0001]本专利技术涉及计算机
,特别涉及一种token过期自动续签认证方法、装置、设备和介质。

技术介绍

[0002]Token是服务端生成的一串字符串,以作web客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给web客户端,以后web客户端请求只需带上这个Token前来请求数据即可。
[0003]使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
[0004]但是token使用是有一个过期时间,如果在web客户端使用过程中,token刚好过期,这个时候请求会报异常,我们需要对这个异常重新处理。如果是多接口并发请求,这个处理会非常麻烦。
[0005]也有使用前置token是否过期判断,过期的话重新获取新的token,再进行业务接口数据请求,这里的问题是每个请求都需要进行token判断,非常的繁琐;而且前置判断,会导致数据获取链变长,稳定性变弱,不利web客户端呈现。

技术实现思路

[0006]本专利技术要解决的技术问题,在于提供一种token过期自动续签认证方法、装置、设备和介质,可以减少频繁判断token是否过期,减少请求量。
[0007]第一方面,本专利技术提供了一种token过期自动续签认证方法,包括:步骤1、将web客户端的通信模块使用ES6 Promise技术封装;步骤2、web客户端通信模块发起请求时候,携带web客户端缓存的token进行数据请求,此时请求的Promise实例 状态是pending;服务端需验证请求所携带的token状态,并且返回状态码;步骤3、web客户端通信模获取状态码,若状态码表示正常状态,则直接将数据返回web客户端渲染层;若状态码表示异常状态,则拦截异常接口,并返回一个的Promise实例,该Promise实例是一个开启重新续签token请求,此时获取token请求的Promise实例状态是 pending;最新token请求完成,使用resolve函数改变token请求的Promise实例状态为fulfilled,并且返回最新token,更新保存web客户端缓存的token,使用最新token和拦截的首个异常接口请求信息,重新发起请求,使用resolve函数改变对应的Promise实例状态为fulfilled;返回请求结果给web客户端渲染层。
[0008]进一步地,所述若状态码表示异常状态,则拦截异常接口,并返回一个的Promise实例,该Promise实例是一个开启重新续签token请求,此时获取token请求的Promise实例状态是 pending;最新token请求完成,使用resolve函数改变token请求的Promise实例状态为fulfilled,并且返回最新token,更新保存web客户端缓存的token,使用最新token和
拦截的首个异常接口请求信息,重新发起请求,使用resolve函数改变对应的Promise实例状态为fulfilled;返回请求结果给web客户端渲染层进一步具体为:若状态码表示异常状态,拦截首个异常接口,返回一个新的Promise实例,该Promise实例是一个开启重新续签token请求,此时获取token请求的Promise实例状态是 pending;拦截其他异常请求,返回新的Promise实例,收集当前请求信息和Promise实例的resolve函数,存到一个全局数组中;最新token请求完成,使用resolve函数改变token请求的Promise实例状态为fulfilled,并且返回最新token,更新保存web客户端缓存的token;使用最新token和拦截的首个异常接口请求信息,重新发起请求,使用resolve函数改变对应的Promise实例状态为fulfilled;返回请求结果给web客户端渲染层;遍历收集异常请求的全局数组,使用最新token和数组项请求信息,重新发起请求,成功后,使用resolve函数改变对应的Promise实例状态为fulfilled;返回请求结果给web客户端渲染层;清空异常请求的全局数组。
[0009]第二方面,本专利技术提供了一种token过期自动续签认证装置,包括:封装模块,将web客户端的通信模块使用ES6 Promise技术封装;请求模块,web客户端通信模块发起请求时候,携带web客户端缓存的token进行数据请求,此时请求的Promise实例 状态是pending;服务端需验证请求所携带的token状态,并且返回状态码;验证处理模块,web客户端通信模获取状态码,若状态码表示正常状态,则直接将数据返回web客户端渲染层;若状态码表示异常状态,则拦截异常接口,并返回一个的Promise实例,该Promise实例是一个开启重新续签token请求,此时获取token请求的Promise实例状态是 pending;最新token请求完成,使用resolve函数改变token请求的Promise实例状态为fulfilled,并且返回最新token,更新保存web客户端缓存的token,使用最新token和拦截的首个异常接口请求信息,重新发起请求,使用resolve函数改变对应的Promise实例状态为fulfilled;返回请求结果给web客户端渲染层。
[0010]进一步地,所述若状态码表示异常状态,则拦截异常接口,并返回一个的Promise实例,该Promise实例是一个开启重新续签token请求,此时获取token请求的Promise实例状态是 pending;最新token请求完成,使用resolve函数改变token请求的Promise实例状态为fulfilled,并且返回最新token,更新保存web客户端缓存的token,使用最新token和拦截的首个异常接口请求信息,重新发起请求,使用resolve函数改变对应的Promise实例状态为fulfilled;返回请求结果给web客户端渲染层进一步具体为:若状态码表示异常状态,拦截首个异常接口,返回一个新的Promise实例,该Promise实例是一个开启重新续签token请求,此时获取token请求的Promise实例状态是 pending;拦截其他异常请求,返回新的Promise实例,收集当前请求信息和Promise实例的resolve函数,存到一个全局数组中;最新token请求完成,使用resolve函数改变token请求的Promise实例状态为fulfilled,并且返回最新token,更新保存web客户端缓存的token;使用最新token和拦截
的首个异常接口请求信息,重新发起请求,使用resolve函数改变对应的Promise实例状态为fulfilled;返回请求结果给web客户端渲染层;遍历收集异常请求的全局数组,使用最新token和数组项请求信息,重新发起请求,成功后,使用resolve函数改变对应的Promise实例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种token过期自动续签认证方法,其特征在于:包括:步骤1、将web客户端的通信模块使用ES6 Promise技术封装;步骤2、web客户端通信模块发起请求时候,携带web客户端缓存的token进行数据请求,此时请求的Promise实例 状态是pending;服务端需验证请求所携带的token状态,并且返回状态码;步骤3、web客户端通信模获取状态码,若状态码表示正常状态,则直接将数据返回web客户端渲染层;若状态码表示异常状态,则拦截异常接口,并返回一个的Promise实例,该Promise实例是一个开启重新续签token请求,此时获取token请求的Promise实例状态是 pending;最新token请求完成,使用resolve函数改变token请求的Promise实例状态为fulfilled,并且返回最新token,更新保存web客户端缓存的token,使用最新token和拦截的首个异常接口请求信息,重新发起请求,使用resolve函数改变对应的Promise实例状态为fulfilled;返回请求结果给web客户端渲染层。2.根据权利要求1所述的一种token过期自动续签认证方法,其特征在于:所述若状态码表示异常状态,则拦截异常接口,并返回一个的Promise实例,该Promise实例是一个开启重新续签token请求,此时获取token请求的Promise实例状态是 pending;最新token请求完成,使用resolve函数改变token请求的Promise实例状态为fulfilled,并且返回最新token,更新保存web客户端缓存的token,使用最新token和拦截的首个异常接口请求信息,重新发起请求,使用resolve函数改变对应的Promise实例状态为fulfilled;返回请求结果给web客户端渲染层进一步具体为:若状态码表示异常状态,拦截首个异常接口,返回一个新的Promise实例,该Promise实例是一个开启重新续签token请求,此时获取token请求的Promise实例状态是 pending;拦截其他异常请求,返回新的Promise实例,收集当前请求信息和Promise实例的resolve函数,存到一个全局数组中;最新token请求完成,使用resolve函数改变token请求的Promise实例状态为fulfilled,并且返回最新token,更新保存web客户端缓存的token;使用最新token和拦截的首个异常接口请求信息,重新发起请求,使用resolve函数改变对应的Promise实例状态为fulfilled;返回请求结果给web客户端渲染层;遍历收集异常请求的全局数组,使用最新token和数组项请求信息,重新发起请求,成功后,使用resolve函数改变对应的Promise实例状态为fulfilled;返回请求结果给web客户端渲染层;清空异常请求的全局数组。3.一种token过期自动续签认证装置,其特征在于:包括:封装模块,将web客户端的通信模块使用ES6 Promise技术封装;请求模块,web客户端通信模块...

【专利技术属性】
技术研发人员:何志宏刘佳财
申请(专利权)人:北京智象信息技术有限公司
类型:发明
国别省市:

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

1