发布网友 发布时间:2022-04-09 12:07
共3个回答
懂视网 时间:2022-04-09 16:28
accesstoken失效的意思是访问令牌在因为未续费或者其他原因而失去效力的时间。
Windows操作系统安全性的一个概念。一个访问令牌包含了此登录会话的安全信息。当用户登录时,系统创建一个访问令牌,然后以该用户身份运行的的所有进程都拥有该令牌的一个拷贝。该令牌唯一表示该用户、用户的组和用户的特权。系统使用令牌控制用户可以访问哪些安全对象,并控制用户执行相关系统操作的能力。有两种令牌:主令牌和模拟的令牌。主令牌是与进程相关的;模拟的令牌是与模拟令牌的线程相关的。进程拥有某种令牌就表示它拥有某种特权。特权是指用户进程进行各种系统操作的权利。如:关机,加载设备驱动程序,改变系统时间也是一种特权。可以对用户或用户所在的组授予特权。
热心网友 时间:2022-04-09 13:36
需要重新获取code,然后得到access token。 即要重新调用授权界面。需要用refresh token刷新access token。
关于access token过期的解决办法:
是在内层函数中,如果执行失败,并且是access_token过期的异常,则会在request的时候抛出专门的异常。
在外围函数如果接收到了这个异常,则会抛出让装饰器接收到,装饰器收到这个异常后会删掉缓存中的token,并且重新执行该函数,这样该函数在执行的时候,就会去主动的获取最新的token。
assess token过期的原因:
测试服和线上服使用同一个app_id和secret来获取,可能会存在其中一方获取的token是旧的。
代码中没有统一的从一个地方来获取,而是直接从官网获取,导致不统一(看了代码,没有发现单独获取token的地方)。
请求获取新的token的时候失败(应该不可能,因为请求成功以后会在redis中缓存两个小时,但是发现没过多久又再次失效,因此主要原因应该不是这个)。
异步队列等待的时间较长,正好执行的时候token已经更新(应该不可能,获取token是在异步函数中执行,而不是通过函数参数来传递)。
热心网友 时间:2022-04-09 14:54
我们通过一些手段尝试性的触发问题现象: