【发布时间】:2018-05-27 00:41:13
【问题描述】:
我需要从用户点击链接通过电子邮件发送的密码重置表单中删除电子邮件字段。我不希望用户在休息密码期间再次重新输入他们的电子邮件,因为他们已经验证了他们的电子邮件。这个问题已经被问过好几次了,但大多数问题还没有回答,其他问题也没有工作。我已经完成了这个讨论,但他们建议编辑核心文件,这是非常危险的。那么有人找到它的解决方案了吗?
【问题讨论】:
-
如果您知道如何生成重置令牌,那么您可以向用户发送一个自定义 url,您可以从中传递两个变量,例如令牌和电子邮件 ID 或令牌和用户 ID。例如-website.com/password/customreset/{email}/{token}
-
我认为这是作为一项安全功能完成的 - 令牌的哈希值类似于密码,并且需要一个标识符(电子邮件),以便应用程序知道将其与数据库中的哈希值进行比较.如果单击他们在电子邮件中获得的链接足以对您进行验证,则不需要对令牌进行哈希处理,您可能只需覆盖设置并检查令牌的函数,以便它们生成随机的未哈希令牌。永远不要编辑核心文件——如果你绝对需要,扩展和覆盖它们
标签: email laravel-5.4 laravel-5.5 change-password forgot-password