首页 > 解决方案 > Laravel 5:诊断密码重置令牌无效错误

问题描述

我使用 Laravel 身份验证系统向所有新用户发送欢迎电子邮件。大多数情况下它工作正常,但我遇到了一些孤立的事件,我得到“密码重置令牌无效”错误。

为了诊断这一点,我希望能够手动将用户 URL 中提供的字符串(即我通过电子邮件发送给他们的令牌)与password_resets.token字段中存储的值进行比较。我怎样才能做到这一点?

URL 中的令牌似乎是 64 个十六进制字符。数据库中的标记以 开头$2y$10$,所以我假设它是password_hash函数的输出。我怎样才能从一个翻译到另一个?

标签: laravellaravel-authentication

解决方案


首先我想说URL中的token不是password_hash函数的输出。

要比较 URL 中的令牌和生成或存储的令牌,您可以从数据库中进行检查。检查password_resets表格,检查用户的电子邮件,搜索与该电子邮件地址对应的令牌。

URL 中的令牌应与电子邮件地址数据库中的令牌相同。


推荐阅读