Laravel JWT 刷新令牌中间件和并发请求

Posted

技术标签:

【中文标题】Laravel JWT 刷新令牌中间件和并发请求【英文标题】:Laravel JWT refresh token middleware and simultaneous requests 【发布时间】:2016-11-06 18:00:15 【问题描述】:

我对 jwt 刷新令牌中间件和 refresh_ttl 配置值有疑问;

我有一个带有 JWT 的 laravel 应用程序。我使用 refresh_token 中间件在每个请求上发送一个新令牌(并将前一个请求列入黑名单),但是我遇到了同时请求的问题,这会使到达服务器的第一个请求的令牌无效并抛出异常第二个请求。

据我了解,对于像我这样的场景,refresh_ttl 是令牌在列入黑名单后仍然可用的时间,但对我不起作用。

我错了吗?使用 jwt 刷新令牌中间件同时发出请求的正确方法是什么?

谢谢。

【问题讨论】:

【参考方案1】:

找到问题了。

以防万一有人对此也有问题,我正在设置 TTL 和 Refresh TTL 值,但我必须在 JWT 配置或 .env 文件中设置“blacklist_grace_period”。

希望这对某人有所帮助

【讨论】:

好的,所以你的回答帮助我让它工作,但你实际上没有指定你必须使用的确切环境变量(或者可能从那时起它已经改变了)。所以键应该是“JWT_BLACKLIST_GRACE_PERIOD”,值应该是你想要的宽限期(以分钟为单位!)。

以上是关于Laravel JWT 刷新令牌中间件和并发请求的主要内容,如果未能解决你的问题,请参考以下文章

快速中间件中的 Node.js JWT 刷新令牌

Laravel - JWT Auth 无法从请求中解析令牌

使用带有 JWT Auth/Laravel 的 Angular JS 获取新的刷新令牌后,如何恢复/重新发送请求?

Laravel JWT 身份验证

过期后如何刷新 JWT 令牌(Angular 1.5 + Laravel 5.2)

如何在 React.js 应用程序中刷新 JWT 令牌?