私は角度のあるアプリケーションを構築しており、パスワードリセットを実装したいと考えています。しかし、デフォルトのlaravel configは、純粋なXMLHttpRequest($ http.post)要求を使用してこれを行うことを許可しないように見え、302リダイレクトで応答します。Laravel:リダイレクトレスポンスを受け取らずにパスワードをリセットする
上記メソッドをauthControllerクラスに実装してjsonレスポンスを返すことで、リダイレクトを発行せずにpostLoginとpostRegisterを動作させることができました。これにより、上記のメソッドのデフォルトのlaravel実装がオーバーライドされます。そのようなpostEmailの運はありません。その方法はまったくヒットしないようですが、私はちょうど302の応答をただちに返します。
理想的には、自分の電子メールを確認する以外に、ユーザーが単一ページの角度アプリケーションを放置しないようにすることは理想的です。 1.ユーザーは電子メールをポストするために電子メールをポストします - >リセットリンク付きの電子メールまたはより良い「リセットコード」が電子メールアドレスに送信されます - >ユーザーはリセットされたトークンコードを既に開いているWebアプリケーションに入力します。完了すると、新しいタブで開いたパスワードのリセットページを参照してください。
私は、次のようなpostEmailメソッドを実装してみました:
またpublic function postEmail(Request $request)
{
$this->validate($request, ['email' => 'required|email']);
$response = Password::sendResetLink($request->only('email'), function (Message $message) {
$message->subject($this->getEmailSubject());
});
switch ($response) {
case Password::RESET_LINK_SENT:
return response()->json(['msg' => 'A reset link has been sent to your E-mail'], 200);
case Password::INVALID_USER:
return response()->json(['msg' => 'This E-mail cannot be found in our system'], 200);
}
}
、どこlaravelを送り出すことをリセットリンクをEメール用のテンプレートがありますか?
'postEmail()'メソッドを拡張するには、 'PasswordController'を作成する必要があります。 – Jeemusu