Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
689 views
in Technique[技术] by (71.8m points)

egg-jwt 开发的时候生成了一批永久token,现在项目重启,或者删除nodemodules,永久对token依然可以用

egg-jwt 开发的时候生成了一批永久token,现在项目重启,或者删除nodemodules,永久对token依然可以用,请问怎么才能清除掉这些token

是不是token已经包含了 过期时间信息?也就是本身服务 缓存啊 之类的都没有保存,只是负责解密,然后只把content内容返回给我,其他的过期信息都内部处理不暴露出来?

如果是上面那样的话,那么只能是修改加密的密钥了


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

jwt 实际上是吧你设置的信息放到了 jwt 的 payload 段,直接 base64转码,前端也可以处理的.后续带回后端,后端只解码后用密钥校验,通过后,再校验你设置的过期时间,如果没设置就不校验,然后通过后,就可以使用 jwt 的对象来获取你之前设置的信息了.

jwt 的属性

expired at简写exp 过期时间,因为你使用的永久 token,所以这个值肯定是不设置的,这个值也就没办法利用.

issue at简写iat,签发时间,如果你设置了,可以通过这个值,在你的逻辑里加个判断,签发时间在那个时间之前的都无效就好了.

你这个无差别全部过期,就直接改密钥吧.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...