В Laravel аутентификацию можно строить по-разному: написать самому на guards, взять starter kit, подключить Fortify как headless-бэкенд или выдавать API-токены через Sanctum и Passport. Здесь разберём, кто за что отвечает и как выбирать. Guards и Breeze описаны в уроке про starter kits.

Fortify: аутентификация без интерфейса

Fortify регистрирует маршруты и действия для входа, регистрации, сброса пароля, подтверждения email и двухфакторной аутентификации. Он ничего не рисует: страницы подключаете вы.

Слои аутентификации в Laravel
Слои аутентификации в Laravel
bash
composer require laravel/fortify
php artisan fortify:install
php artisan migrate

fortify:install публикует FortifyServiceProvider, config/fortify.php, классы app/Actions/Fortify и миграцию со столбцами 2FA. В Laravel 12 provider добавляется в bootstrap/providers.php.

php
<?php

namespace App\Providers;

use App\Actions\Fortify\CreateNewUser;
use Illuminate\Support\ServiceProvider;
use Laravel\Fortify\Fortify;