JWT令牌在laravel 5.4和5.5注销后不会过期

JWT令牌在laravel 5.4和5.5注销后不会过期

问题描述:

我在laravel中使用JWT包并在注销API中使用JWT::invalidate()函数,但令牌未过期。JWT令牌在laravel 5.4和5.5注销后不会过期

我不知道你正在使用的软件包的细节,但总的来说,JWT令牌不能被撤消,这是规范的一部分,以及它们是如何工作的。因为令牌是自包含的,并且不依赖于任何外部会话存储

由于JWT令牌包含到期时间,因此无法使令牌过期。相反,JWT::invalidate()方法会将该令牌添加到黑名单,因此虽然到期时间保持不变,但不应接受该令牌。

您可以设置一个较短的宽限期,以便在每个请求刷新令牌时允许并行AJAX请求。也许你遇到了这个问题,因为令牌在失效后仍处于宽限期?