前提・実現したいこと
Laravel7系を利用してパスワードリセット機能を実装しています。
認証はLaravelがデフォルトで用意しているAuthの機能を使用しています。
実現させたいこととして、
パスワードリセット用のメールを送信した後に指定したテンプレート(サンクスページ)を表示させたのですが、どのファイルのどの記述を変更すれば良いかわかりません。
6系までは__framework/src/Illuminate/Foundation/Auth/SendsPasswordResetEmails.php__
にテンプレートを指定する記述があったようなのですが、7系にはそのファイルがなくなっているようです。
知見がある方がいらっしゃいましたら、ご教授お願いします。
補足情報(FW/ツールのバージョンなど)
Laravel Framework 7.12.0
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
Form の送信先が /password/email であることがわかる
php artisan route:list | grep password/email
でコントローラーを特定する
App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail
だとわかる
php
1<?php 2 3namespace App\Http\Controllers\Auth; 4 5use App\Http\Controllers\Controller; 6use Illuminate\Foundation\Auth\SendsPasswordResetEmails; 7 8class ForgotPasswordController extends Controller 9{ 10 /* 11 |-------------------------------------------------------------------------- 12 | Password Reset Controller 13 |-------------------------------------------------------------------------- 14 | 15 | This controller is responsible for handling password reset emails and 16 | includes a trait which assists in sending these notifications from 17 | your application to your users. Feel free to explore this trait. 18 | 19 */ 20 21 use SendsPasswordResetEmails; 22}
SendsPasswordResetEmails
にメソッドがありそう
php
1<?php 2 3namespace Illuminate\Foundation\Auth; 4 5use Illuminate\Http\JsonResponse; 6use Illuminate\Http\Request; 7use Illuminate\Support\Facades\Password; 8use Illuminate\Validation\ValidationException; 9 10trait SendsPasswordResetEmails 11{ 12 /** 13 * Display the form to request a password reset link. 14 * 15 * @return \Illuminate\View\View 16 */ 17 public function showLinkRequestForm() 18 { 19 return view('auth.passwords.email'); 20 } 21 22 /** 23 * Send a reset link to the given user. 24 * 25 * @param \Illuminate\Http\Request $request 26 * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse 27 */ 28 public function sendResetLinkEmail(Request $request) 29 { 30 $this->validateEmail($request); 31 32 // We will send the password reset link to this user. Once we have attempted 33 // to send the link, we will examine the response then see the message we 34 // need to show to the user. Finally, we'll send out a proper response. 35 $response = $this->broker()->sendResetLink( 36 $this->credentials($request) 37 ); 38 39 return $response == Password::RESET_LINK_SENT 40 ? $this->sendResetLinkResponse($request, $response) 41 : $this->sendResetLinkFailedResponse($request, $response); 42 } 43 44 (省略) 45}
この部分にレスポンスを返している部分が見つかる
php
1 return $response == Password::RESET_LINK_SENT 2 ? $this->sendResetLinkResponse($request, $response) 3 : $this->sendResetLinkFailedResponse($request, $response);
投稿2020/09/21 13:51
編集2020/09/22 01:50総合スコア3923
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/21 14:13 編集
2020/09/21 14:09
2020/09/21 15:11
2020/09/22 02:10 編集
2020/09/22 01:27 編集
2020/09/22 01:50
2020/09/22 03:28
2020/09/22 03:38 編集
2020/09/22 04:18
2020/09/22 04:48
2020/09/22 04:49
2020/09/22 04:54
2020/09/22 05:03
2020/09/22 05:42
2020/09/22 06:10