老师,您好有个需求,老师方便提供下指导和代码怎么写的中间件吗?

来源:7-16 联调-介绍html页面

再坚持坚持一下

2021-04-08

需求: 学完了session 公司里面要用jwt实现登录,但是有个优化的问题,就是如何让令牌时间自动更新时间,持续化更新。
例如: expiredin:'1m' token的有效期是设置一分钟,然后再这个1分钟中期间,用户正在操作表单,当点击提交表单的时候,正好已经过了一分钟,token失效了,这样的用户体验肯定不行的, 如何做到 用户假如登录的token有效时间12:00-12:01 如果用户再12:00:01--12:00:59之间 又调了后台接口了,我后台把token有效期延期1分钟 就是,变成 12:02 token 失效 以此类推 

麻烦老师有开发过这种案例吗 希望老师附带下资料或者源码案例 谢谢老师了

写回答

5回答

再坚持坚持一下

提问者

2021-04-08

就是我写个后端逻辑,前端再一个小时之间,再次请求了带有token的接口,我可以后端egg 怎么把有效期自动往后顺延一个小时呢,根据每次请求接口来自动更新1个小时,如果是在一个小时,客户端确实没操作了,那就返回token失效了 这样的实现方式,麻烦老师了

0
1
双越
token 是没法更新的,只能重新生成一个 token ,新 token 的有效期延长一个小时,这样思路。 如果一小时之后,客户端没操作,那就只能 token 失效了。 或者,客户端可以有一个自动刷新的机制,没 1min 检测 token 时间,如果过期了就自动跳转到登录页,这样用户体验更好一些。
2021-04-08
共1条回复

再坚持坚持一下

提问者

2021-04-08

就是我写个后端逻辑,前端再一个小时之间,再次请求了带有token的接口,我可以后端egg 怎么把有效期自动往后顺延一个小时呢,根据每次请求接口来自动更新1个小时,如果是在一个小时,客户端确实没操作了,那就返回token失效了 这样的实现方式,麻烦老师了

0
0

再坚持坚持一下

提问者

2021-04-08

就是我写个后端逻辑,前端再一个小时之间,再次请求了带有token的接口,我可以后端egg 怎么把有效期自动往后顺延一个小时呢,根据每次请求接口来自动更新1个小时,如果是在一个小时,客户端确实没操作了,那就返回token失效了 这样的实现方式,麻烦老师了

0
0

再坚持坚持一下

提问者

2021-04-08

老师自动持续更新时间,我想让后端实现自动更新时间的逻辑 可以不用前端操作吗?

0
1
双越
jwt 的 token 是存储在客户端的,后端只能生成新的 token ,没法去更新 token 。如果你想让后端做的更多,那就不应该用 jwt ,用 session就好了。
2021-04-08
共1条回复

双越

2021-04-08

我们《前端架构师课》https://class.imooc.com/sale/fearchitect  中的项目就是用 jwt 实现的登录,源码都在 https://github.com/imooc-lego 开源了。

token 设置 1min ,时间太短了,都不够用户操作的。你把 token 有效期设置长一点,例如 1h ,这样就会好很多。(当然你也可以反过来思考,例如 token 有效期设置 1s ,或者 100ms,更短,会怎样?会不会就乱了?)

token 设置 1h 或者 5h ,前端每次请求时,都判断一下当前 token 的剩余时间,如果时间短就先去申请一个新的 token 。这样几乎能搞定 99% 的场景。

0
0

Node.js+Express+Koa2+Nest.js 开发服务端

从入门到实战,一站式掌握 Node.js+Express+Koa2

4051 学习 · 2006 问题

查看课程