【发布时间】:2018-08-31 18:28:34
【问题描述】:
我有一个运行良好的 Laravel 5.5 应用程序,我设置了 PassPort 并且可以使用重置密码功能。
但我现在正在寻找一种通过 API 路由触发忘记密码电子邮件的方法。
oAuth路由好像是自动设置的,忘记密码功能需要手动创建路由吗?
【问题讨论】:
标签: laravel
我有一个运行良好的 Laravel 5.5 应用程序,我设置了 PassPort 并且可以使用重置密码功能。
但我现在正在寻找一种通过 API 路由触发忘记密码电子邮件的方法。
oAuth路由好像是自动设置的,忘记密码功能需要手动创建路由吗?
【问题讨论】:
标签: laravel
您可以触发忘记密码的电子邮件路由,如下所述,但请记住,它使用 CSRF 保护,出于安全原因,我强烈建议不要禁用该路由。
如果要使用路由,路由名称为password.reset,方法为POST,控制器动作为
App\Http\Controllers\Auth\ResetPasswordController@reset
不过,另一种更简洁的选择是创建一个新控制器,使用 SendsPasswordResetEmails 特征并创建您自己的路由。
新控制器将如下所示
<?php
namespace App\Http\Controllers\Api\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
class ForgotPasswordController extends Controller
{
use SendsPasswordResetEmails;
public function sendResetLinkEmail()
{
// You can override the method here, if you want.
}
}
【讨论】: