我正在刷新每个请求的访问令牌,并将前一个令牌列入黑名单。问题是如果有多个连续的请求,第一个令牌会被下一个请求无效。flask-jwt-extended中有没有在将令牌列入黑名单之前实现宽限期的功能?
我正在阅读文档,但找不到此功能。你们能给我指引一条正确的道路来实现我的目标吗?
发布于 2019-04-17 10:43:07
没有一种方法可以在扩展中实现这一点。因为Flask-JWT-Extended并不了解您用来将令牌列入黑名单的存储区,所以将其作为此扩展的一个特性是没有任何意义的。
但是,因为您控制检查令牌是否被撤销的方法,所以这将非常容易做到。当您存储要列入黑名单的令牌时,您可以存储该令牌被列入黑名单的时间戳。然后,在检查令牌是否被列入黑名单的回调函数中,您可以将令牌被列入黑名单时的时间戳与当前时间减去时间增量进行比较,从而为结果检查提供宽限期。
阅读这篇文章可能也是一个好主意,可以找到在每个请求上创建新令牌的替代方法:Flask JWT extend validity of token on each request
https://stackoverflow.com/questions/55713046
复制相似问题