将JWT Auth + Laravel和Ionic用于移动应用程序。
我希望让用户保持登录状态,直到他们使用按钮进行物理注销。 JWT已经' 60' (一小时)作为令牌的TTL。
我知道我可以增加这个并完成,但我想有一个原因,默认只有一个小时。
刷新令牌等有很多条款,但是任何人都可以快速总结一下如何处理长期令牌吗?
我是否每60分钟设置一次刷新,每次请求或TTL都很长?
答案 0 :(得分:0)
如果您查看jwt-auth package上的authentication维基页面。中间件Tymon\JWTAuth\Middleware\RefreshToken
的工作方式是。
此中间件将再次尝试解析请求中的令牌, 然后将刷新令牌(从而使旧令牌无效)和 将其作为下一个响应的一部分返回。这基本上产生了一个 单一使用令牌流,如果一个令牌,它会减少攻击窗口 因为它仅对单个请求有效而受到损害。
在我看来,只要您的应用程序具有相当持续的通信而没有长时间不活动(超过60分钟的窗口),这是保持令牌新鲜的最佳方式。
如果您没有使用jwt-auth软件包,您仍然可以应用您需要在响应标头中传回新标记的逻辑,请参阅RefreshToken Middleware以获取此示例。