关于token,我的理解

来源:6-5 忘记密码中的重置密码功能开发

木星上的土星人

2017-07-09

看了代码中的token的用法,我的理解是在进行答案校验的时候,即在checkAnswer方法中,如果答案正确,那么就针对这个用户,把一个token存入缓存中。当该用户想改密码时,将传入的token跟缓存中的token进行比较,如果一致,则认为是该用户在操作。

我有一个小疑问,为什么要给token一个过期时间呢?

写回答

1回答

Geely

2017-07-09

hi 同学,你的理解是对的,

token要过期时间的原因是,这次修改需要保证在一段时间内有效,过期就无效了。

因为token也可以被拦截~~再进一步的做法是使用token修改完之后,把token置成失效。

例如不加token,那么通过修改密码的接口 就可以随便改其他username的密码了。

那么加token,加了有效时间,起码在一段时间内,我保证自己的修改是有效且防止其他无效。

这在互联网上修改密码是一个很常用的做法,例如,忘记密码修改邮件里面给的链接,都会有一个提示,告诉你,这个修改密码的链接在10个小时之内有效,过期请重新获取该链接~

1
5
从哪里跌倒还是在爬起来
非常感谢!
2018-10-17
共5条回复

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9476 学习 · 8804 问题

查看课程