Laravel JWT Refresh Token 工作...
最近一段时间一直忙着做 Docker 相关工作……没能好好开发……(不过现在我对 Docker 已经理解了很多……整体上已经到了可以使用的程度……) 所以,我接下来要继续做的工作是 Laravel JWT Refresh Token……\ 我对 JWT 的概念也很模糊,也会想它和会话(Cookie)有什么不同……真是遇
最近一段时间一直忙着做 Docker 相关工作……没能好好开发……(不过现在我对 Docker 已经理解了很多……整体上已经到了可以使用的程度……)
所以,我接下来要继续做的工作是 Laravel JWT Refresh Token……
我对 JWT 的概念也很模糊,也会想它和会话(Cookie)有什么不同……真是遇到了很多棘手又困难的问题……(只是我自己的问题……)
总之,我设想的是,设置令牌的有效时间,并设置刷新时间。(tymon/jwt)
有效时间过期后,如果使用已过期的令牌发起请求,只要还在 Laravel middleware 中该令牌的刷新时间范围内,就会签发一个新令牌,并在响应中附上包含新令牌值的 Header。(当然,这时也会输出相应的结果值。)
这样一来,如果 Nuxt.js(客户端)收到的响应 Header 中存在令牌,就判断这是新签发的令牌,于是用新令牌替换旧令牌,再通过 Nuxt.js Auth Module 重新调用 user,获取新的 payload 值并保存到本地存储中。
好了,以上就是我的设想……
在 tymon 中,一旦超过刷新时间,该令牌就会彻底失效。
到这里都没问题……但是……目前遇到的问题有两个。
- 令牌过期后,在刷新时间范围内发起请求并获得新令牌,而这个新令牌的过期时间也到了以后,就无法再刷新了。(在刷新时间值范围内应该可以持续重新签发令牌,但这行不通!!只能刷新一次……为什么啊?ㅠㅠ)