Lalavelでのログイン機能実装にあたって罠にはまった


背景

Laravel5.8でコマンド「php artisan make:Auth」でログイン機能やら登録画面やら一撃実装できることを知って、

感動してたときのことです。


やっぱり自分流にカスタマイズしたい

そう思うでしょう?


登録画面をカスタマイズ、DBにテーブルも準備してユーザ登録されることも確認!いざ!ログイン!

だがしかし、IDとパスワードを入れてログインボタンを押すと、永遠にログイン画面にリダイレクトされる。。。


今回の問題点

僕は数行前でIDとパスワードを入れてログインボタンを押すといった。

そう、IDとパスワード。

そう、IDこれだ。


改善

コマンドで一撃実装をすると、ログイン画面で入力するフォームは

・e-mail

・password

となっている。

このe-mailのフィールドをblade上でidに書き換えるだけではだめだったのである。

ここで公式のドキュメントを見てみる。

laravelのドキュメント

[ユーザー名のカスタマイズ]の項目を見ると、どうやらLoginController内にてusernameメソッドを定義する必要があったようだ。

なので、

image.png

こんな感じで定義してやると、ログインできる。

もちろん、bladeのフィールド名はちゃんと書き換えてくれ。

公式のドキュメント見たら済むお話をわざわざ記事にしてしまった自分が情けない。。。。