生成的 token 值为啥在过期时间内不一样呢?

我用命令脚本为ID为1的用户生成token为啥在过期时间内多次生成的token的后缀不一样呢?
file

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4
liyu001989

你可能没理解什么是 JWT,每个 token 都是独立的,当然不一样了

5年前 评论

这里需要理解一下 JWT 的过期和刷新机制,过期很好理解,超过了这个时间,token 就无效了。刷新时间一般比过期时间长,只要在这个刷新时间内,即使 token 过期了, 依然可以换取一个新的 token,已达到应用长期可用,不需要重新登录的目的。
为什么要刷新 => 任何一个永久有效的 token 都是相当危险的,通过任意方式泄露了 token 之后,用户的相关信息都有可能被利用。所以为了安全考虑,任何一种令牌的机制,都会有过期时间,过期时间一般也不会太长。

你所做的操作相当于刷新了token, 当然是一个独立的新值, 不然刷新的意义就没有了啊 :sweat_smile:

5年前 评论

@liyu001989 意思是同一个用户其实可以有多个 token的对吗,只要token在有效期内都可以使用。 还是说同一个用户在生成一个新的token时,自动销毁了旧的token,不管旧的有没有过期。

5年前 评论
liyu001989

@youxia 一个用户多个,想要销毁看这里 博客:JWT-Auth 黑名单功能

5年前 评论

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