Saltar al contenido principal

Por qué migrar desde laravel/ui

laravel/ui sigue funcionando en Laravel 13. De hecho, la última release de laravel/ui incluye compatibilidad con Laravel 13. Sin embargo, el starter kit oficial actual está basado en Fortify. Si continúas operando con laravel/ui, te irás separando poco a poco de la posición oficial actual. Si quieres mantener tu configuración existente Bootstrap + Blade y a la vez aumentar la mantenibilidad futura, la migración del backend de autenticación a Fortify es eficaz.

Visión general de la migración

Esta migración sustituye solo el backend de autenticación. No se necesita una renovación a gran escala de la UI.
  • Fortify proporciona las rutas y el procesamiento de autenticación
  • Se aprovechan las plantillas Bootstrap + Blade existentes
  • Ajusta los action y los nombres de input de los formularios en lo necesario
Fortify es un backend de autenticación headless. Como el propio Fortify no ofrece UI, puedes seguir utilizando el Blade existente.

Pasos para instalar Fortify

1

Añade el paquete Fortify

composer require laravel/fortify
2

Publica los recursos de Fortify

php artisan fortify:install
3

Ejecuta las migraciones

php artisan migrate
4

Elimina las rutas Auth añadidas por `laravel/ui`

Elimina Auth::routes(); o Auth::routes([...]) de routes/web.php. Como Fortify proporciona rutas como /login, /register y /forgot-password, hay que evitar duplicidades.

Configura FortifyServiceProvider

Enlaza las vistas en el app/Providers/FortifyServiceProvider.php publicado por php artisan fortify:install. Si vas a usar tal cual el resources/views/auth existente, la clave de la migración es la siguiente configuración.
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');
}

Modificaciones mínimas de las plantillas Blade

Tras la migración, comprueba los siguientes puntos en el Blade existente.
  • Que el action del formulario apunte a los endpoints de Fortify (por ejemplo /login, /register, /forgot-password). Como la mayoría se indican por nombre de ruta con route('login') o route('register'), habrá pocos cambios. Solo route('verification.resend') cambia a route('verification.send') en Fortify, por lo que hay que modificarlo.
En auth/passwords/reset.balde.php hay que modificar dos puntos:
<input type="hidden" name="token" value="{{ $token }}">
<input type="hidden" name="token" value="{{ $request->route('token') }}">
{{ $email ?? old('email') }}
{{ old('email', $request->email) }}

Desactivar funcionalidades no necesarias

Las funcionalidades que no existían en laravel/ui no se pueden usar, así que desactívalas en config/fortify.php. Si preparas nuevos archivos de vista, puedes activarlas.
    'features' => [
        Features::registration(),
        Features::resetPasswords(),
        // Features::emailVerification(),
        // Features::updateProfileInformation(),
        // Features::updatePasswords(),
        // Features::twoFactorAuthentication([
        //     'confirm' => true,
        //     'confirmPassword' => true,
            // 'window' => 0,
        // ]),
        // Features::passkeys([
        //     'confirmPassword' => true,
        // ]),
    ],

Lista de comprobación tras la migración

Tras la migración, comprueba al menos lo siguiente.
1

Verifica login y logout

Inicia sesión con un usuario existente y confirma que la sesión se mantiene correctamente.
2

Verifica el registro

Confirma que el registro de nuevo usuario pasa y que se redirige a la pantalla prevista.
3

Verifica el restablecimiento de contraseña

Comprueba todo el flujo: envío del email de restablecimiento, enlace con token y finalización del restablecimiento.

Beneficios tras la migración

Al hacer esta migración, tu aplicación se acerca a la misma base Fortify del starter kit actual. Como resultado, en el futuro te resultará más fácil activar 2FA o passkeys.

Laravel Fortify y los starter kits

Si quieres avanzar al diseño interno de Fortify o hasta la activación de 2FA y passkeys, consulta esta página.

Enlaces de referencia

Última modificación el 13 de julio de 2026