Laravel Breeze パッケージは、ログイン、ユーザー登録、パスワードのリセット、電子メールの確認、パスワードの確認など、Laravelの全認証機能のシンプルな実装することができます。Laravel Breeze をインストールして機能を見ていきます。
親記事
Dockerで環境構築して Laravel 9で CRUD 機能を作る
2022年03月15日
Laravel環境
- macOS
- Laravel v9.0.2 (sail を使って環境構築)
- Docker 20.10.12
Laravel Breeze をインストール
Laravelのアプリケーションを作成後、マイグレーションを行います。
sail artisan migrate
ComposerでLaravel Breezeパッケージをインストール
sail composer require laravel/breeze --dev
Breezeをインストールして起動
sail artisan breeze:install
sail npm install
sail npm run dev
sail artisan migrate
sail up -d --build
順にコマンドを実行していきます。
追加された機能
- ユーザー登録 → ログインするためにメールアドレスとパスワードユーザーネームを登録します。
- ログイン → メールアドレスとパスワードでログインすることができます。
- パスワードリセット → パスワードを忘れたときメールアドレスを頼りにパスワードを再設定します、Laravel側からメールを送るので設定が必要になります。
- パスワードの確認 → アプリケーションの重要なページヘの遷移などに、登録済みのユーザーに対して再度パスワードを要求する機能、。(デフォルトでは使用していません)
- メールの確認 → 新しく登録したユーザーへ、確認リンクを含む電子メールが自動的に送信されます。ユーザーが確認メールの確認ボタンを押して初めて確認が必要なページに入ることができます。(デフォルトでは使用していません)
パスワードの確認
重要なページへのルートにミドルウェアを定義して適用させます。
Route::get('/test', function () {
return view('test');
})->middleware(['password.confirm']);
password.confirm ミドルウェアで、パスワード確認を適用します。
メールの確認
※メールの設定も必要
// class User extends Authenticatable
class User extends Authenticatable implements MustVerifyEmail
{
Userモデルに MustVerifyEmail インターフェースを実装して、ユーザー登録した際にユーザーに確認メールを送信します。
Route::get('/dashboard', function () {
return view('dashboard');
// })->middleware(['auth'])->name('dashboard');
})->middleware(['auth', 'verified'])->name('dashboard');
verified ミドルウェアで、メール確認していないユーザーに確認を促すページでブロックします。
メール設定
sailコマンドでアプリケーションを作成すると、MailHogも一緒にインストールされています。MailHogを使ってテスト環境を作成します。
【Laravel】MailHogを使ってメールのテスト環境を作る
2023年01月10日
Laravelメールの送信元にGmailを使うこともでき、こちらは実際にメールが送信されます。
Laravelのメール確認で送信元にGmailを使う
2023年01月10日
Laravel