对于我的项目,我需要一个“忘记密码”功能。
我不太确定如何实现这种功能,所以我希望在互联网上找到一些“最佳实践”,但找不到任何有用的东西来处理这个非常常见的功能的每个重要方面。
我自己对此的想法是相当直截了当的:
如果用户想更改他的密码,我可以创建一个uniqueTokenForTheUser
附加到“更改密码请求”的唯一令牌,这基本上是我的后端的标识符,以判断是否是发送请求的正确用户。
因此,例如,我会生成/发送一封user@example.com
带有链接的电子邮件
http://www.example.com/changePassword?token=uniqueTokenForTheUser
uniqueTokenForTheUser
将存储在一个表中,该表在某个时间间隔内由线程检查,并在令牌过期后删除记录,以防用户实际上没有更改他的密码。
虽然这对我来说听起来很简单,但我想仔细检查是否有任何“最佳实践”,例如在生成和删除该特定令牌时。
欢迎任何对文章/教程的建议或参考!
评论建议的其他链接:
- 基于表单的网站身份验证的权威指南(感谢 Krumia)