多插件的授权令牌管理方法、电子设备及存储介质与流程
本公开涉及计算机,具体涉及一种多插件的授权令牌管理方法、电子设备及存储介质。
背景技术:
1、随着计算机技术的发展,越来越多的功能程序以插件的形式集成在同一开发环境中。集成在同一开发环境的不同插件,通常将授权令牌存储至插件各自的私有进程中。在该开发环境中每进行一次不同的插件调用,均需要获取对应插件私有进程中的授权令牌等信息。在频繁调用不同的插件的情况下,则该调用过程过于繁琐,用户体验较差。
2、现有技术中,通常采用共享存储空间存储各插件的共享授权令牌来解决上述问题,然而,共享存储空间无法避免多插件同时读写过程中的数据冲突问题,且维护需要实时依赖常驻进程,占用较多计算资源。
技术实现思路
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、本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
1.一种多插件的授权令牌管理方法,其特征在于,应用于多个插件中的任一插件,所述多个插件的共享授权令牌存储于共享存储空间,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述基于所述新的令牌信息更新所述共享授权令牌之前,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述验证所述当前周期的共享授权令牌是否伪造令牌,包括:
7.根据权利要求6所述的方法,其特征在于,所述基于验证结果,确定所述插件的运行状态,包括:
8.根据权利要求1所述的方法,其特征在于,在所述基于所述新的令牌信息更新所述共享授权令牌之后,所述方法还包括:
9.一种电子设备,包括存储器、处理器、及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器运行以使所述电子设备执行如权利要求1-8任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行实现如权利要求1-8中任一项所述的方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com