我看到一些文章,没有找到解决方案。
我知道Laravel 5.4的通知通过Nexmo发送短信。 Nexmo是第三方网站,在我的国家,一个短信费用为0.0442欧元。
但是我们有自己的短信服务提供商,而且我已经让它发挥作用了。我们的用户必须提供真实姓名,电子邮件,手机。手机必须经过验证。我用提供者的api编写了一个简单的函数来完成它。
我想实现laravel通知,通过短信重置密码,比如电子邮件。怎么做?
答案 0 :(得分:1)
laravel密码重置逻辑可在以下位置找到:
vendor/laravel/framework/src/Illuminate/Foundation/Auth/SendsPasswordResetEmails.php
。
您可以覆盖其中的功能以满足您的短信需求。
但由于该文件位于vendor文件夹中,因此您需要将这些函数添加到:
app/Http/Controllers/Auth/ForgotPasswordController.php
(ForgotPasswordController中的函数覆盖SendsPasswordResetEmails中的函数)
答案 1 :(得分:0)
Laravel内置了通过电子邮件重置密码的功能,你可以在这方面获得很多教程,而且如果你想创建短信验证,那么你将需要一个能够保存特定PIN码(个人识别号码)的表格。用户,假设您有一个名为password_pin
的表,您需要包含users_id
,pin
,validated_at
的列,现在您发送短信后可以将数据插入这些表格在验证您可以使用经过验证的时间进行更新时,您需要具有一个逻辑,您希望将PIN验证一次,或者可以多次验证。验证发生时,您可以显示更新密码的表单,并可以通过这些更新密码。
注意:您必须要有一个验证逻辑来结束架构。
如果您向我们提供代码,我们将更容易为您提供指导。希望这会有所帮助。