我正在刷新每个请求的访问令牌并将以前的令牌列入黑名单。问题是,如果有多个连续的请求,第一个令牌将被下一个请求失效。flask-jwt-extended 中是否有一项功能可以在将令牌列入黑名单之前实现宽限期?
我正在阅读文档,但找不到此功能。你们能指导我走上实现目标的正确道路吗?
扩展中没有内置的方法可以做到这一点。由于 Flask-JWT-Extended 对您用于将令牌列入黑名单的存储一无所知,因此将其作为此扩展的一个功能是没有意义的。
但是,由于您控制检查令牌是否被吊销的方法,因此这很容易做到。当您存储要列入黑名单的令牌时,您可以存储其被列入黑名单时的时间戳。然后,在检查令牌是否被列入黑名单的回调函数中,您可以将令牌被列入黑名单时的时间戳与当前时间减去时间增量进行比较,以便为生成的检查提供宽限期。
阅读此内容以获取在每个请求上创建新令牌的一些替代方法也可能是一个好主意: Flask JWT 在每个请求上扩展令牌的有效性