如何在 jwt laravel 5.3 中处理令牌到期?

Posted

技术标签:

【中文标题】如何在 jwt laravel 5.3 中处理令牌到期?【英文标题】:How handle token expiry in jwt laravel 5.3? 【发布时间】:2017-02-22 23:24:37 【问题描述】:

我正在使用 laravel 5.3 开发移动应用后端服务。我正在关注 REST API。具有支付网关集成的应用程序需要更高的安全性。

我通过使用 laraveltymon/jwt-auth 库来跟踪 jwt 身份验证。

我很少担心,我的 令牌在 1 小时后过期,在服务器返回令牌过期错误之后,应用程序开发人员如何处理这种情况?要求用户一次又一次地登录是不可能的。

应用开发者如何处理?

什么是最好和更安全的方法?

【问题讨论】:

我认为 JWT 是一个非常好的解决方案。只需确保您的路由使用包中包含的 RefreshToken 中间件。此外,配置允许您修改令牌的有效期,但我认为假设您使用的是 RefreshToken 中间件,1 小时应该足够了。 感谢您的回复,如果我使用了这个中间件。我的令牌默认多久有效。或分享描述此内容的好文章(如果有) 这取决于您在config/jwt.php 文件中的设置。令牌寿命的默认值为 1 小时。如果你的路由使用了 RefreshToken 中间件,你可以在他们需要再次登录之前不断刷新它长达两周(也可以在配置中修改)。大多数情况下,如果这是在文档中github.com/tymondesigns/jwt-auth/wiki/Authentication 【参考方案1】:

config/jwt.php 中,将'ttl' => 60 更改为您需要的任何数字,这些数字代表令牌可以存在的分钟数,但最好的方法是使用RefreshToken,因为您的应用会更安全,不会受到不需要的用户的攻击。

【讨论】:

是否可以提供始终与应用程序一起使用 RefreshToken 的示例。

以上是关于如何在 jwt laravel 5.3 中处理令牌到期?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel JWT API 令牌处理

Laravel 护照 VS JWT

使用 Laravel、JWT 和 Angularjs 批处理令牌

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

如何在 Laravel 5.7 中生成 JWT 刷新令牌

使用 Symfony 5.3 检查 JWT (Firebase) 令牌