如何在 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。具有支付网关集成的应用程序需要更高的安全性。
我通过使用 laravel 的 tymon/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 和 Angularjs 批处理令牌