我以前从未做过。 现在,我想为用户创建一种重置其忘记密码的方法。 我知道我可以运行php artisan make:auth
但事实是,我不使用laravel提供的方法。 我有很多不同之处,甚至没有使用AuthController。 现在,我知道我可以制作resetpassword
表并将令牌放置在其中,但是问题是,如果用户不使用令牌,放置在其中的这些令牌将不会被删除。 因此,感觉到很多安全问题值得关注。 我正在寻找更简单的解决方案或我不知道的事情。
不用担心 首先,我不得不说Laravel 在GitHub上有400多个贡献者。 您提到的问题是一个普通的问题。
当您向用户发送重置密码链接时,会生成一个令牌。 该令牌将发送到用户电子邮件地址,哈希令牌将存储在password_resets
表中。
发送的重置密码链接如下所示:
http://www.example.com/password/reset/362f8adcf97f022cbf1a6347cee191d95f02b454aeee53a85e592b0b6fb1a4cb
这就是存储在数据库中的内容:
+------------------+---------------------------------------------------------------+---------------------+
| email | token | created_at |
+------------------+---------------------------------------------------------------+---------------------+
| [email protected] | $2y$10$O16XcqD6oknXBskCml9K7eCvO7.Te112YLE.XNulvT.K3XjUymBkm | 2018-05-26 18:18:04 |
+------------------+---------------------------------------------------------------+---------------------+