关于JWT token实现密码重置

场景:管理员创建一个用户,创建好后发送用户名和url给用户邮箱,用户点url进系统重置密码页面设置密码。token并不存在数据库中,这怎么用token实现?原先的需求是创建用户时后台随机生成密码,将用户名和密码发到用户邮箱,用户第一次登录时会强制修改密码。但今天把需求改成用token实现,就懵逼了。求大神帮助

1个回答

这个我的想法是使用缓存来实现。

首先,JWT其实本质上就是一个加密后的字符串。
而你这个也业务里的 url 其实就是参数。
假设,他可以密码重置了。你就生成一个 uuid,然后把uuid作为key,用户id作为value存在缓存 里,缓存也刚刚好可以设置超时时间。

然后,用户受到url之后,点进去跳转。跳转的时候uuid其实已经是参数了,你根据uuid来找到他的用户,然后提示他重置密码就ok了。
当然,这过程中UUID你可以考虑加盐之类的加密手段,以防止篡改。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问