将前后端的 token 过期时间设置为一样的是没有意义的。

(1)首先token是有效期的,使用refresh Token的操作必须得在有效期内才能进行。所以将前端和后端的有效期设置成一样是没有意义的把。 文中的测试也是将前端的有效期减少,处于在后端的有效期内,才得以进行接口的刷新的吧。 所以在前后端有效期相同的情况下,进行refresh操作是没有意义的。

(2)最近还遇到一个问题,就是我在上传小程序端全部用户信息的时候,token失效了所以refresh失败,这时我接下来又请求了文章中写的login函数(const login = async (params = {}) => { .... } 简写啦),login函数重新向微信进行了login()的请求,导致这时候的session刷新了,所以解密数据就失败了。求好的结局方案。

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
liyu001989
最佳答案
  1. “前后端有效期相同的情况下,进行refresh操作是没有意义的” 你明显没有理解 tokne 的两个有效期。看一下一楼的链接,然后再好好看看课程。

  2. “token失效了所以refresh失败” token 只要没有超过可刷新时间就可以refresh, refresh 的时候不会调用 login,而太长时间没有使用,超过了可刷新时间,那么就需要重新login,逻辑没有问题
6年前 评论
讨论数量: 5

感觉重新获得token的过程最好不要调用微信自身的login函数吧,刷新了session,可能会有影响,感觉后端需要重新写一个查找获得token的函数吧。

6年前 评论
liyu001989
  1. “前后端有效期相同的情况下,进行refresh操作是没有意义的” 你明显没有理解 tokne 的两个有效期。看一下一楼的链接,然后再好好看看课程。

  2. “token失效了所以refresh失败” token 只要没有超过可刷新时间就可以refresh, refresh 的时候不会调用 login,而太长时间没有使用,超过了可刷新时间,那么就需要重新login,逻辑没有问题
6年前 评论

@liyu001989 只要在重新刷新时间内,即使token过期也可以刷新,这个是我搞混了,sorry。

6年前 评论

@Fykex 是我没看清楚,你的回答是正确的,谢谢

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!