LARAVEL BREEZE: LA FORMA MÁS SIMPLE Y ELEGANTE DE AGREGAR AUTENTICACIÓN A TU PROYECTO
Breeze es un starter kit oficial de Laravel que implementa un sistema de autenticación completo, limpio y moderno, utilizando solo Blade y Tailwind CSS. Breeze es minimalista por diseño. Es perfecto cuando se quiere tener el control total y un stack ligero.Características principales
- Registro de usuarios
- Login / Logout
- Recuperación de contraseña
- Verificación de email
- Dashboard básico
- Perfil de usuario, actualizar nombre, email y contraseña
- Soporte completo para Blade y Tailwind CSS
- Totalmente personalizable
- Código limpio y fácil de entender
Cómo instalarlo
# Crear nuevo proyecto
composer create-project laravel/laravel mi-app
cd mi-app
# Instalar Breeze
composer require laravel/breeze --dev
php artisan breeze:install
# Opcional: con Alpine.js
php artisan breeze:install --pest
npm install && npm run dev
php artisan migrate
php artisan serve
Arquitectura Interna y Diseño Limpio
A diferencia de otros paquetes que ocultan la lógica en la carpeta "vendor", Breeze publica todo el código directamente en las carpetas del proyecto:- Controladores, "app/Http/Controllers/Auth/": Contiene controladores individuales y legibles para cada acción como "AuthenticatedSessionController.php" para el inicio de sesión.
- Rutas, "routes/auth.php": Centraliza todas las rutas de autenticación de forma independiente, las cuales se cargan automáticamente en "routes/web.php".
- Peticiones Validadas, "app/Http/Requests/Auth/": Incluye clases como "LoginRequest.php", encargadas de validar los datos de entrada y de gestionar el bloqueo por intentos fallidos.
Funcionalidades de Seguridad Avanzadas
Aunque es un paquete "mínimo", Breeze incluye por defecto configuraciones de seguridad esenciales para producción:- Protección contra ataques de fuerza bruta: El formulario de inicio de sesión bloquea automáticamente al usuario por un minuto tras acumular demasiados intentos fallidos consecutivos.
- Confirmación de contraseña: Añade la funcionalidad para proteger rutas críticas, como cambiar la configuración de facturación, solicitando al usuario su contraseña de nuevo antes de continuar.
- Cierre de sesión seguro: Utiliza peticiones POST protegidas con tokens CSRF para evitar ataques de falsificación de solicitudes en sitios cruzados.
Cómo Personalizar Laravel Breeze
Al tener acceso total al código fuente, adaptarlo a las reglas de negocio es un proceso directo.Modificar Campos en el Registro
Si se desea solicitar un dato adicional a tus usuarios al registrarse, se deben seguir estos tres pasos:Base de datos
Añadir el campo en el archivo de migración de usuarios, "database/migrations/...create_users_table.php"://Ejemplo para añadir campo "telefono"
$table->string('telephone')->nullable();
Modelo
Permitir la asignación masiva agregando el campo en la propiedad "$fillable" dentro de app/Models/User.php"":protected $fillable = ['npmbre', 'email', 'password', 'telefono'];
Controlador
Abrir "RegisteredUserController.php", añadir la regla de validación y guardar el nuevo campo:$request->validate([
'name' => ['required', 'string', 'max::255'],
'phone' => ['nullable', 'string', 'max:20'],
// ... otras validaciones
]);
$user = User::create([
'name' => $request->name,
'phone' => $request->phone,
// ...
]);
Cambiar la Redirección Post-Login
Por defecto, al iniciar sesión, Breeze redirige al usuario a la ruta "/dashboard". Este comportamiento global se puede cambiar modificando la constante "HOME" en el fichero "app/Providers/RouteServiceProvider.php", o en el fichero de configuración correspondiente según la versión de Laravel, con la que se eté desarrollando:public const HOME = '/mi-panel-personalizado';