Laravel8 Breeze シンプル認証機能

Laravel8ではJetStream機能が追加され、認証機能を利用するためにはInertia.jsかLivewireを選択してインストールを行う必要がありました。JetStreamを利用せず認証機能を利用したい場合は新たにBreezeパッケージを利用することで認証機能を利用することができます。
JetStreamなど多機能でInertis.jsやLivewireのことを考えないといけないのでLaravelの入門者にとってはハードルが高かったのですが、このパッケージのおかげでこれまでのLaravel7のlaravel/uiのようにシンプルな方法で認証機能を利用することができます。JavaScriptのフレームワークVue.jsはインストールされませんが、Alpine.jsが一緒にインストールされます。
Laravelのインストール
Laravelのインストールを行ってください。JetStreamをインストールする際の–jetオプションは必要ありません。laravelコマンドが実行できる環境を前提にしています。
% laravel new laravel_breeze
Laravel Breezeパッケージのインストール
Laravelインストール完了後、Laravel/Breezeパッケージのインストールを行います。
% cd laravel_breeze
% composer require laravel/breeze
パッケージが完了したら、php artisan breeze:installコマンドを実行してください。
% php artisan breeze:install
Breeze scaffolding installed successfully.
Please execute the "npm install && npm run dev" command to build your assets.
実行するとnpm install && npm run devを実行するようにメッセージが表示されるのでnpmコマンドを実行してください。
% npm install && npm run dev
以上で設定は完了です。php artisan serveコマンドで開発サーバを起動すると右上にregisterとloginのリンクが表示されます。


右上のRegisterリンクをクリックするとユーザの登録画面が表示されます。

Loginのリンクをクリックすると下記のログイン画面が表示されます。

ユーザを作成して、ログインを行うと下記のダッシュボード画面が表示されます。

関連するファイル
Breezeの認証機能でどのようなファイルが追加されたかはlaravel/breezeインストール後に作成されるvendor¥laravel¥breeze¥src¥Consoleの下にあるInstallCommand.phpファイルを見ると確認することができます。
例えば追加されたルーティングを知りたい場合はweb.phpファイルに新たにルーティングの行が追加されているので、routesディレクトリの下にあるauth.phpファイルを見ることで確認できます。
Route::get('/', function () {
return view('welcome');
});
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware(['auth'])->name('dashboard');
require __DIR__.'/auth.php'; //これが追加
認証に関するコントローラーはHttp¥Controllers¥Authの下に保存されています。
ユーザ登録画面やログイン画面を変更したい場合は、resources¥viewsの下にあるauth、componentsディレクトリのBladeファイルを更新することで行うことができます。