はじめに
Laravel8の認証機能(ログイン機構)を導入したいと思います。
というのも、Laravel7以前の導入の仕方と変わっていました。
今回は、シンプルで最小限の認証機能である、Breezeを導入します。
参考
他にも私のブログで、Laravelについて解説している記事がありますのでご覧ください。
【紹介】個人開発
私の個人開発ですがQuiphaというサービスを開発しました。(Laravel, Vue3など)
良かったら、会員登録して動作を試してみて下さい。
また、Laravel 9 実践入門という書籍を出版しました。
Kindle Unlimitedを契約している方であれば、読み放題で無料でご覧いただくことができます。
Laravelの構築
使用するバージョン
- Windows 11 or macOS Monterey (M1)
- Laravel Framework 8 or 9
- Node.js 16.14.2
- Composer v2.3.5
Laravel Sailを使いプロジェクトを作成していますが、詳しくは以下の記事をご覧ください。
Windows
Mac
上記の手順まで済んでLaravelにアクセスすると、初期画面が表示されます。

Laravel Breezeのインストール
次に、Composerを使用してLaravel Breezeをインストールします。
プロジェクト直下で、以下のコマンドを実行します。
$ sail composer require laravel/breeze --dev
Composerでのインストールが完了したら、Artisanでのインストールを行います。
以下のコマンドにより、認証のためのビューやルート、コントローラなどが作成されます。
$ sail php artisan breeze:install
一部のファイルが更新され、また、認証に関する以下のファイルが追加されました。
認証用コントローラやビューなど
- app/Http/Controllers/Auth/AuthenticatedSessionController.php
- app/Http/Controllers/Auth/ConfirmablePasswordController.php
- app/Http/Controllers/Auth/EmailVerificationNotificationController.php
- app/Http/Controllers/Auth/EmailVerificationPromptController.php
- app/Http/Controllers/Auth/NewPasswordController.php
- app/Http/Controllers/Auth/PasswordResetLinkController.php
- app/Http/Controllers/Auth/RegisteredUserController.php
- app/Http/Controllers/Auth/VerifyEmailController.php
- app/Http/Requests/Auth/LoginRequest.php
- app/View/Components/AppLayout.php
- app/View/Components/GuestLayout.php
- resources/views/auth/confirm-password.blade.php
- resources/views/auth/forgot-password.blade.php
- resources/views/auth/login.blade.php
- resources/views/auth/register.blade.php
- resources/views/auth/reset-password.blade.php
- resources/views/auth/verify-email.blade.php
- resources/views/components/application-logo.blade.php
- resources/views/components/auth-card.blade.php
- resources/views/components/auth-session-status.blade.php
- resources/views/components/auth-validation-errors.blade.php
- resources/views/components/button.blade.php
- resources/views/components/dropdown-link.blade.php
- resources/views/components/dropdown.blade.php
- resources/views/components/input.blade.php
- resources/views/components/label.blade.php
- resources/views/components/nav-link.blade.php
- resources/views/components/responsive-nav-link.blade.php
- resources/views/dashboard.blade.php
- resources/views/layouts/app.blade.php
- resources/views/layouts/guest.blade.php
- resources/views/layouts/navigation.blade.php
- routes/auth.php
- tailwind.config.js
- tests/Feature/AuthenticationTest.php
- tests/Feature/EmailVerificationTest.php
- tests/Feature/PasswordConfirmationTest.php
- tests/Feature/PasswordResetTest.php
- tests/Feature/RegistrationTest.php
テーブルのマイグレーションを行います。
$ sail artisan migrate
引き続き、CSSなどのアセットをビルドします。
$ sail npm install
$ sail npm run dev
最新のLaravelの場合、MixではなくViteへ置き換わっていますので、以下のように表示されます。
開発用のアセット(JS, CSS)は開発サーバー上に配置されます。
VITE v3.1.3 ready in 285 ms
➜ Local: http://localhost:5173/
➜ Network: http://172.23.0.7:5173/
LARAVEL v9.32.0 plugin v0.6.1
➜ APP_URL: http://localhost
Viteについては以下の記事にもまとめました。
ログイン
以下のURLにアクセスします。
http://localhost/login
ログイン画面が表示されました。

ユーザを作成してみましょう。
ユーザ登録画面を開きます。任意でユーザを作成します。
http://localhost/register

ユーザ作成と同時にログインされ、ダッシュボード画面が表示されました。

ちなみにユーザ情報は、「users」テーブルに作成されます。

その他
初学者へ
Laravelを初めて触る方へ向け、手順やアドバイスをまとめました。
外部サーバーへ公開
作成したアプリは公開して使ってもらいましょう!
Laravelアプリケーションを外部公開する方法をまとめました。
脆弱性対策
脆弱性を抱えたアプリケーションの場合、攻撃を受ける可能性があり大変危険です。
作成したアプリケーションは、脆弱性対策も意識しましょう。
GitHubと連携
GitHubと連携する方法を解説しました。
プロジェクトの管理はGitHubを活用しましょう。
さいごに
簡単に認証機能が導入できました。
機会があれば、Jetstreamの認証機能の導入も試したいと思います。
他にも私のブログで、Laravelについて解説している記事がありますのでご覧ください。
\オススメ/
リンク
リンク
リンク
リンク
リンク
コメント
本日 午後にLaravel Breezeのインストールの件で質問させていただいた者です
あれから色々調べましたら $ sail npm run dev の後に、画面がストップしていたよう見えた現象ですがViteというのが立ち上がっていただけでした
https://github.com/laravel/vite-plugin/issues/28
$ sail npm run build を行うことにより
public/build が作成され css js が見れるようになり
通常どおりログイン機能を実行することができました