laravel8で、一番シンプルな認証であるFortifyを試してみる(bladeファイルは自分で作る)

laravel8で、一番シンプルな認証であるFortifyを試してみる(bladeファイルは自分で作る)

laravel8のユーザ認証について調べてみた。
5種類のユーザ認証が用意されているようだ

// フロント無し
1, Fortify(要塞化、シンプルなID・パスワードでログインするだけと思いきや、メール認証や二要素認証も出来る) 
2, Sanctum(聖域、モバイルアプリ(APIトークン認証)やSPA(セッション(クッキー)認証)など、バックエンドのユーザ認証が出来る)

// フロントも作ってくれる
3, Laravel UI(6系から導入された。React/Vue.js/Bootstrapを使うのでフロントエンドが分からない勢を困惑させた)
4, Laravel Breeze(そよ風、バックはFortify、フロントはBladeなのでフロントエンドが分からない勢でも安心
5, Laravel Jetstream(ジェット気流、フロントはinteria(react/vue.js)かliveview(動的blade)から選べる。バックはSanctum+Fortifyと全部のせ)

laravel8はjetstream推しだけど、単純なcrudアプリならbreezeで十分だと思う。
laravel uiは残っているけど、今後のサポートはしなさそうなので新規ではやめておいた方が無難

基本と思われるfortifyを実装してみよう。
参考URL https://reffect.co.jp/laravel/laravel8-fortify

1, fortify+laravelのセットアップ

config¥app.phpに、fortifyサービスを追加する

2, fortifyの不要?な機能は、とりあえずコメントアウト
app\config\fortify.phpでログイン機能(login, logout, register)以外はコメントアウト
php artisan route:listが激減する

3, ログイン画面とユーザ登録画面を作る
app/Providers/FortifyServiceProvider.phpを修正。

ログイン画面を作る。resources/views/auth/login.blade.phpを作成

ユーザ新規作成画面を作る。resources/views/auth/register.blade.phpを作成

ユーザの新規登録&バリデーション処理は、app/Actions/CreateNewUser.phpで実装されている

4, ログイン後のホーム画面とログアウトボタンを作る
ユーザ新規登録に成功すると、自動ログインして/homeにリダイレクトされる。

ホーム画面(ログアウトボタン付き)を作る。resources/views/auth/home.blade.phpを作成

これでfortifyを使ったログインユーザの新規作成・ログイン・ログアウトは出来た。