如何使用 JWT 令牌使忘记密码更安全?
Posted
技术标签:
【中文标题】如何使用 JWT 令牌使忘记密码更安全?【英文标题】:how to make forgot password more secure with JWT token? 【发布时间】:2020-01-28 16:44:42 【问题描述】:我在 laravel 项目中使用 JWT 令牌进行身份验证,现在我陷入忘记密码的困境。我想让令牌只对一次点击有效。用户在他的电子邮件上单击设置密码后,他可以设置他的密码,但再次尝试设置密码是不可能的。我想创建一个用户并向他发送一封电子邮件,其中包含一个链接以设置带有令牌的密码,仅对一次单击或类似的东西有效。
【问题讨论】:
您的意思是,在单击邮件中的链接后使重置链接过期,该链接将重定向到您的密码重置页面。用户成功更新密码或失败都没有关系,如果他重新加载或再次访问相同的 URL,那么这个 URL 应该已经过期,因为它已经被使用了。你想要这个吗? 是的,我想要这个。 【参考方案1】:通常情况下,只有当用户成功重置密码时令牌才有效。您应该在用户重置密码成功后删除令牌
【讨论】:
如何删除该令牌?还是只是为了创建一个新令牌并自动删除该令牌? 当用户请求获取链接重置密码时,您会生成一个令牌并将其与电子邮件一起存储在表格中。第一个点击重置密码链接并成功重置密码。您只需要删除包含令牌和电子邮件的记录。所以第二个将无法访问重置密码以上是关于如何使用 JWT 令牌使忘记密码更安全?的主要内容,如果未能解决你的问题,请参考以下文章