メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://kawax.biz/llms.txt

Use this file to discover all available pages before exploring further.

なぜ laravel/ui から移行するのか

laravel/ui は Laravel 13 でも動作します。実際に laravel/ui の最新リリースは Laravel 13 compatibility を含んでいます。 ただし、現行の公式スターターキットは Fortify ベースです。laravel/ui のまま運用を続けると、公式の現在地と少しずつズレていきます。
あなたが既存の Bootstrap + Blade 構成を維持しながら将来の保守性を上げたいなら、認証バックエンドを Fortify に寄せる移行が有効です。

移行の全体像

この移行は 認証バックエンドだけ を置き換えます。UI の大規模リニューアルは不要です。
  • Fortify で認証ルート・認証処理を提供する
  • 既存の Bootstrap + Blade テンプレートは活かす
  • 必要な範囲でフォームの action や入力名を調整する
Fortify は headless な認証バックエンドです。Fortify 自体は UI を提供しないので、既存の Blade をそのまま活用できます。

Fortify のインストール手順

1

Fortify パッケージを追加する

composer require laravel/fortify
2

Fortify のリソースを公開する

php artisan fortify:install
3

マイグレーションを実行する

php artisan migrate
4

`laravel/ui` が追加した Auth ルートを削除する

routes/web.phpAuth::routes(); や、Auth::routes([...]) を削除します。Fortify が /login/register/forgot-password などのルートを提供するため、重複を避ける必要があります。

FortifyServiceProvider を設定する

php artisan fortify:install で公開された app/Providers/FortifyServiceProvider.php でビューを紐付けます。
既存の resources/views/auth をそのまま使う場合は、次の設定が移行のポイントです。
use Laravel\Fortify\Fortify;

public function boot(): void
{
    Fortify::viewPrefix('auth.');
    Fortify::requestPasswordResetLinkView('auth.passwords.email');
    Fortify::resetPasswordView('auth.passwords.reset');
    Fortify::confirmPasswordView('auth.passwords.confirm');
    Fortify::verifyEmailView('auth.verify');
}

Blade テンプレートを最小修正する

移行後は、既存 Blade で次の点を確認してください。
  • フォームの action が Fortify のエンドポイントに向いているか(例: /login, /register, /forgot-password)。ほとんどはroute('login')route('register')のルート名での指定なので修正箇所は少ないはずです。route(verification.resend')だけはFortifyではroute('verification.send')なので修正が必要です。
auth/passwords/reset.balde.phpは2箇所修正が必要です。
<input type="hidden" name="token" value="{{ $token }}">
<input type="hidden" name="token" value="{{ $request->route('token') }}">
{{ $email ?? old('email') }}
{{ old('email', $request->email) }}

不要な機能を無効化

laravel/uiになかった機能は使えないのでconfig/fortify.phpで無効化します。新しくviewファイルを用意すれば有効化できます。
    'features' => [
        Features::registration(),
        Features::resetPasswords(),
        // Features::emailVerification(),
        // Features::updateProfileInformation(),
        // Features::updatePasswords(),
        // Features::twoFactorAuthentication([
        //     'confirm' => true,
        //     'confirmPassword' => true,
            // 'window' => 0,
        // ]),
        // Features::passkeys([
        //     'confirmPassword' => true,
        // ]),
    ],

動作確認チェックリスト

移行後は、少なくとも次を確認してください。
1

ログイン / ログアウトを確認する

既存ユーザーでログインし、セッションが正しく維持されることを確認します。
2

登録を確認する

新規ユーザー登録が通り、想定した画面へリダイレクトされることを確認します。
3

パスワードリセットを確認する

リセットメール送信、トークン付きリンク、再設定完了まで一連のフローを確認します。

移行後の利点

この移行を行うと、あなたのアプリは現行スターターキットと同じ Fortify ベースに近づきます。
その結果、将来的に 2FA やパスキー(Passkeys)を有効化しやすくなります。

Laravel Fortify とスターターキット

Fortify の内部設計、2FA、Passkeys の有効化まで進めたい場合はこのページを参照してください。

参考リンク

Last modified on May 10, 2026