0

我有困难如何根据 laravel 生成的令牌获取用户 ID?我对framewrok不是很熟悉,有人可以帮助我吗?

class ForgotPasswordController extends Controller
{
    use SendsPasswordResetEmails;

    /**
    * Create a new controller instance.
    *
    * @return void
    */
    public function __construct()
    {
        $this->middleware('guest');
    }
}

重置密码控制器

class ResetPasswordController extends Controller
{

    use ResetsPasswords;

    protected $redirectTo = '/login';

    public function __construct()
    {

        $this->middleware('guest');
    }

    protected function guard()
    {
        return Auth::guard('user');
    }

    public function broker()
    {
        return Password::broker('users');
    }

    public function showResetForm(Request $request, $token = null)
    {
        var_dump($request->email);
        var_dump( $request->token);

        return view('auth.passwords.reset')->with(
            ['token' => $token, 'email' => $request->email]
        );
    }
}

如何更新密码?我只有通过电子邮件收到的令牌?

4

1 回答 1

0

检查此步骤,以便您更好地了解 laravel auth 的工作原理。

  1. 使用以下命令生成 auth 脚手架:php artisan make:auth
  2. 运行创建的迁移:php artisan migrate
  3. 检查你的路由列表php artisan route:list,你可以看到当你运行make:auth命令时也创建了路由。
  4. 记下 Auth 路由调用的控制器和方法。
  5. 转到路由web.php文件。请参阅Auth::routes();,这会生成默认的 Laravel Auth 路由,如果您不需要全部,请注释或删除此行并添加所需的行。
  6. 如果您记下控制器和方法,您可以看到每条路由上调用了什么。在这种特殊情况下,我认为您会寻找从那里可以看到的方法,这是您必须在 ResetPasswordController 上覆盖ResetPasswordController的方法。ResetsPasswordsvendor/laravel/framework/src/Illuminate/Foundation/Auth/ResetsPasswords.phpresets
于 2018-08-31T21:24:45.330 回答