💻
【Laravel】Laravel Breezeを使用した認証画面の作成
この記事で使用する環境です。
php -v
composer -V
node -v
php artisan --version
PHP 8.3.6 (cli) (built: Jul 14 2025 18:30:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.6, Copyright (c) Zend Technologies
with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies
Composer version 2.7.9 2024-09-04 14:43:28
PHP version 8.3.6 (/usr/bin/php8.3)
Run the "diagnose" command to get more detailed diagnostics output.
v24.11.1
Laravel Framework 12.44.0
Breezeの開発用ツールを追加
composer require laravel/breeze --dev
※本番でBreeze自体は動かず、あくまでコード生成ツールのため開発用で追加します。
./composer.json has been updated
Running composer update laravel/breeze
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
- Locking laravel/breeze (v2.3.8)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Downloading laravel/breeze (v2.3.8)
- Installing laravel/breeze (v2.3.8): Extracting archive
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
INFO Discovering packages.
laravel-lang/config ......................................................................................................................... DONE
laravel-lang/lang ........................................................................................................................... DONE
laravel-lang/locales ........................................................................................................................ DONE
laravel-lang/publisher ...................................................................................................................... DONE
laravel/breeze .............................................................................................................................. DONE
laravel/pail ................................................................................................................................ DONE
laravel/sail ................................................................................................................................ DONE
laravel/tinker .............................................................................................................................. DONE
nesbot/carbon ............................................................................................................................... DONE
nunomaduro/collision ........................................................................................................................ DONE
nunomaduro/termwind ......................................................................................................................... DONE
86 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
INFO No publishable resources for tag [laravel-assets].
No security vulnerability advisories found.
Using version ^2.3 for laravel/breeze
上記のように出力されればOKです。
念のため、以下のコマンドで確認します。
ls ./vendor/laravel/breeze
以下が表示されればOKです。
LICENSE.md README.md composer.json src stubs
Breezeの認証を生成
php artisan breeze:install blade
上記コマンドを実行します。
INFO Installing and building Node dependencies.
added 156 packages, and audited 157 packages in 20s
38 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
> build
> vite build
vite v7.3.0 building client environment for production...
✓ 54 modules transformed.
public/build/manifest.json 0.33 kB │ gzip: 0.17 kB
public/build/assets/app-Db9yqqSs.css 47.68 kB │ gzip: 8.40 kB
public/build/assets/app-CiZ6hk-B.js 81.83 kB │ gzip: 30.58 kB
✓ built in 1.64s
INFO Breeze scaffolding installed successfully.
上記のように出力され、最後にsuccessfullyと出ればOKです。
実行後は、
+ app/Http/Controllers/Auth/
+ app/Http/Controllers/ProfileController.php
+ app/Http/Requests/
+ app/View/
+ package-lock.json
+ postcss.config.js
+ resources/views/auth/
+ resources/views/components/
+ resources/views/dashboard.blade.php
+ resources/views/layouts/
+ resources/views/profile/
+ routes/auth.php
+ tailwind.config.js
+ tests/Feature/Auth/
+ tests/Feature/ProfileTest.php
上記のフォルダやファイルが追加され、下記のファイルが変更されています。
app.css
- @import 'tailwindcss';
-
- @source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';
- @source '../../storage/framework/views/*.php';
- @source '../**/*.blade.php';
- @source '../**/*.js';
-
- @theme {
- --font-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
- 'Segoe UI Symbol', 'Noto Color Emoji';
- }
+ @tailwind base;
+ @tailwind components;
+ @tailwind utilities;
app.js
import './bootstrap';
+
+ import Alpine from 'alpinejs';
+
+ window.Alpine = Alpine;
+
+ Alpine.start();
web.php
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
+
+ Route::get('/dashboard', function () {
+ return view('dashboard');
+ })->middleware(['auth', 'verified'])->name('dashboard');
+
+ Route::middleware('auth')->group(function () {
+ Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
+ Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
+ Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
+ });
+
+ require __DIR__.'/auth.php';
package.json
{
"$schema": "https://www.schemastore.org/package.json",
"private": true,
"type": "module",
"scripts": {
"build": "vite build",
"dev": "vite"
},
"devDependencies": {
+ "@tailwindcss/forms": "^0.5.2",
"@tailwindcss/vite": "^4.0.0",
+ "alpinejs": "^3.4.2",
+ "autoprefixer": "^10.4.2",
"axios": "^1.11.0",
"concurrently": "^9.0.1",
"laravel-vite-plugin": "^2.0.0",
+ "postcss": "^8.4.31",
- "tailwindcss": "^4.0.0",
+ "tailwindcss": "^3.1.0",
"vite": "^7.0.7"
}
}
vite.config.js
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
- import tailwindcss from '@tailwindcss/vite';
export default defineConfig({
plugins: [
laravel({
input: ['resources/css/app.css', 'resources/js/app.js'],
refresh: true,
}),
- tailwindcss(),
],
- server: {
- watch: {
- ignored: ['**/storage/framework/views/**'],
- },
- },
});
フロント依存を入れる
npm install
DBテーブル生成
php artisan migrate
# sailの場合は ./vendor/bin/sail artisan migrate
※sailについては以下の記事をご覧ください。
起動・ログイン画面確認
php artisan serve
# sailの場合は ./vendor/bin/sail up -d
上記コマンドで起動後、
http://localhost/login
上記にアクセスすると、認証画面が表示されるようになります。
これで、Breezeを使用した認証設定の完了です。
↓画面

ユーザーの登録
http://localhost/register
上記にアクセルすると、

上記画面に行くので、登録したいユーザーを登録し、REGISTERを押下すると
登録できます。
今回は、
Name : test
Email : test@test.com
Password : testtest
Comfirm Password : testtest
として登録します。

REGISTERを押すと、登録したユーザーでログインされます。

ログアウトして、登録したユーザーでログインすると、ログインできるため、
ユーザーが登録されたことが分かります。




余談ですが、もし日本語対応がしたい場合は、以下の記事をご覧ください。
Discussion