かなりハマって悔しかったので備忘録。
現象
LaravelのAuth周りを使ってログイン機能を実装中、ログイン失敗時のフラッシュメッセージとして動かす予定だった withErrors が正常に動かない現象が起こりました。
具体的には AuthenticatesUsers クラスにある sendFailedLoginResponse メソッドがコールされたとき、ログイン失敗を示すメッセージがリダイレクト後のページで取得できず、
$errors 変数にはデータバッグは存在するものの、値が空の状態になりました。
結論
先に結論を書くと、webミドルウェアが二重適用していたことが原因でした。
php artisan route:list
を実行すると定義されているルーティング一覧を確認できますが、
そのミドルウェア欄には web,web,auth のように web が二度呼ばれていることが分かりました。
Read More »