Guía Laravel Breeze: Autenticación Paso a Paso con Ejemplos

Guía Completa de Laravel Breeze: Autenticación Paso a Paso

¡Hola, futuro desarrollador! ¿Listo para simplificar la autenticación en tus proyectos Laravel? En dCreations.es, sabemos que el tiempo es oro y que empezar un nuevo proyecto puede ser abrumador. Por eso, hemos preparado esta guía completa de Laravel Breeze para que integres un sistema de autenticación robusto en cuestión de minutos.

Laravel Breeze es una solución minimalista y sencilla que proporciona todo el scaffolding (esqueleto) de autenticación necesario, desde el registro y el inicio de sesión hasta la recuperación de contraseñas. Si buscas un tutorial Laravel Breeze claro y directo para aprender Laravel Breeze desde cero, has llegado al lugar adecuado. Con esta guía Laravel Breeze paso a paso, te mostraremos cómo usar Laravel Breeze para ahorrarte horas de trabajo y enfocarte en lo que realmente importa: tu aplicación.

Únete a nuestra comunidad de Discord

¿Qué es Laravel Breeze? Guía Esencial para la Autenticación Laravel

Laravel Breeze es un starter kit oficial y gratuito de Laravel que te permite configurar rápidamente las funcionalidades básicas de autenticación de usuario. Se trata de una opción ligera, sencilla y fácil de implementar, ideal para aquellos que desean una solución de autenticación con la mínima sobrecarga y la máxima flexibilidad. Con Breeze, obtendrás el registro, el inicio de sesión, el restablecimiento de contraseña, la verificación de correo electrónico y la confirmación de contraseña, todo listo para usar.

Este scaffolding Laravel Breeze es perfecto para empezar proyectos pequeños o medianos, o incluso para aprender las bases de la autenticación Laravel. A diferencia de otras soluciones más completas como Laravel Jetstream, Breeze se mantiene minimalista, utilizando un frontend Laravel Breeze basado en Blade con Tailwind CSS por defecto, o integrándose con Inertia.js para opciones con Vue, React o Svelte. Es un starter kit Laravel que actúa como una excelente plantilla Laravel Breeze para tus inicios.

Si buscas una forma rápida y eficiente de tener un sistema de autenticación funcional sin complicaciones, este tutorial Laravel Breeze es tu aliado. Te guiará para que domines Breeze Laravel desde cero, facilitando tu entrada al mundo del framework Laravel tutorial.


Requisitos Previos: Prepara tu Entorno para Instalar Laravel Breeze

Antes de sumergirnos en la instalación y configuración de Laravel Breeze, es fundamental asegurarnos de que tu entorno de desarrollo cumple con los requisitos necesarios. Una buena preparación garantiza un proceso fluido y sin contratiempos, lo que te permitirá instalar Laravel Breeze sin problemas.

Asegúrate de tener instalados los siguientes componentes en tu sistema:

  • - PHP: Laravel 10 (la versión actual al momento de escribir este tutorial) requiere PHP 8.1 o superior. Puedes verificar tu versión ejecutando php -v en tu terminal.

  • - Composer: Es el gestor de dependencias de PHP y es esencial para instalar Laravel y sus paquetes. Comprueba su instalación con composer -v.

  • - Node.js y npm/Yarn: Necesarios para compilar los recursos de frontend (CSS y JavaScript) de Laravel Breeze. Node.js 16 o superior y npm 8 o superior son recomendables. Puedes verificar sus versiones con node -v y npm -v o yarn -v.

  • - Base de Datos: Necesitarás un sistema de gestión de bases de datos como MySQL, PostgreSQL o SQLite. Para este tutorial básico Laravel Breeze, asumiremos que usarás MySQL, pero los principios son aplicables a otros.

Consejo: Si alguno de estos componentes no está instalado o no cumple con la versión requerida, te recomendamos encarecidamente que los instales o actualices antes de continuar. Puedes encontrar guías de instalación detalladas en las documentaciones oficiales de cada herramienta. Preparar bien el terreno es clave para el éxito de este tutorial Laravel Breeze español.


Guía Paso a Paso: Instalación de Laravel Breeze en tu Proyecto

Ahora que tu entorno está listo, es el momento de la parte emocionante: ¡instalar Laravel Breeze! Seguiremos cada paso meticulosamente para que puedas crear un proyecto Laravel Breeze desde cero. Este es el corazón de nuestro tutorial Laravel Breeze paso a paso.

1. Crear un Nuevo Proyecto Laravel: El Punto de Partida

El primer paso es crear una nueva aplicación Laravel. Puedes hacerlo de dos maneras, dependiendo de si tienes el instalador de Laravel configurado globalmente:

  • Opción A: Con el instalador de Laravel (recomendado si lo usas con frecuencia):

    laravel new mi-proyecto-breeze
  • Opción B: Con Composer (si no tienes el instalador global):

    composer create-project laravel/laravel mi-proyecto-breeze

Una vez que el proyecto se ha creado, navega hasta el directorio recién creado utilizando el comando cd:

cd mi-proyecto-breeze

Este directorio será la base de tu proyecto, y es aquí donde instalaremos Breeze Laravel.

2. Instalar Laravel Breeze con Composer

Con tu nuevo proyecto Laravel listo, el siguiente paso es añadir Laravel Breeze como una dependencia de desarrollo. Esto significa que Breeze te ayuda a construir tu aplicación, pero no es necesario para que la aplicación funcione en producción una vez que el scaffolding ha sido generado.

Ejecuta el siguiente comando en la raíz de tu proyecto:

composer require laravel/breeze --dev

Este comando descargará e instalará todos los archivos y dependencias de Laravel Breeze en tu proyecto. Verás una salida en tu terminal indicando el progreso de la instalación. Una vez completado, ya tendrás el paquete Laravel Breeze integrado en tu proyecto.

3. Seleccionar el Stack Frontend: Blade, Livewire o Inertia

Laravel Breeze es flexible y te permite elegir el stack frontend que mejor se adapte a tus necesidades o preferencias. Una vez que Breeze ha sido instalado vía Composer, debes ejecutar el comando de instalación de Breeze para generar los archivos necesarios.

Ejecuta el siguiente comando:

php artisan breeze:install

Al ejecutar este comando, se te preguntará qué stack frontend deseas utilizar. Las opciones principales que ofrece Breeze Laravel son:

  • - Blade con Alpine.js (por defecto): Esta es la opción más sencilla y ligera. Utiliza las plantillas Blade de Laravel para las vistas y Alpine.js para la interactividad mínima del frontend. Es ideal si buscas simplicidad y no necesitas una SPA (Single Page Application). Esta es la opción más común en un tutorial Breeze blade.

  • - Blade con Livewire: Una combinación potente que permite construir interfaces dinámicas con la simplicidad de Blade y la reactividad de Livewire. Es una excelente opción si ya trabajas con Livewire o planeas hacerlo.

  • - Inertia.js (con Vue, React o Svelte): Si prefieres construir una SPA con un framework JavaScript moderno, Inertia.js es tu elección. Te permite combinar el backend de Laravel con un frontend de Vue, React o Svelte sin la complejidad de una API RESTful. Es perfecto si ya estás familiarizado con alguno de estos frameworks. Si optas por esta, elegirás un tutorial Breeze inertia.

Para este tutorial Laravel Breeze básico, la opción Blade con Alpine.js es la más sencilla para empezar. Si eliges esta opción, la instalación será directa. Si optas por Inertia, se te pedirá elegir entre Vue, React o Svelte.

Después de seleccionar tu stack, se te preguntará si deseas instalar un modo oscuro. Puedes elegir "yes" o "no" según tus preferencias. Finalmente, si elegiste Blade con Alpine.js o Livewire, se te preguntará si deseas soporte para Pest, el framework de testing de Laravel.

Una vez que hayas hecho tus selecciones, Breeze generará los archivos correspondientes. El siguiente paso crucial es compilar los activos de frontend:

npm install && npm run dev

Este comando instala las dependencias de JavaScript y compila el CSS y JavaScript. El comando npm run dev es útil para el desarrollo, ya que recompila automáticamente cuando guardas cambios. Para producción, usarías npm run build.

4. Ejecutar las Migraciones de Base de Datos

Con los archivos de autenticación y el frontend listos, el último paso para tener un sistema de autenticación funcional es configurar tu base de datos y ejecutar las migraciones.

Primero, abre tu archivo .env en la raíz de tu proyecto. Aquí debes configurar las credenciales de tu base de datos:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mi_proyecto_breeze_db  # ¡Importante! Asegúrate de crear esta base de datos antes
DB_USERNAME=root                  # Tu usuario de base de datos (ej. root)
DB_PASSWORD=                      # Tu contraseña de base de datos (vacía por defecto en algunos XAMPP/WAMP)

Nota: Asegúrate de haber creado previamente la base de datos mi_proyecto_breeze_db en tu sistema de gestión de bases de datos (por ejemplo, PhpMyAdmin, MySQL Workbench o la terminal).

Una vez configurado, ejecuta las migraciones de la base de datos:

php artisan migrate

Este comando creará las tablas necesarias en tu base de datos, incluyendo la tabla users (usuarios), password_reset_tokens (para la recuperación de contraseñas) y failed_jobs (para tareas fallidas).

¡Felicidades! Has completado la instalación de Laravel Breeze con éxito. Ahora puedes iniciar tu servidor de desarrollo con php artisan serve y navegar a http://127.0.0.1:8000/register o http://127.0.0.1:8000/login para ver tu sistema de autenticación funcionando.


Configuración Laravel Breeze: Personaliza tu Sistema de Autenticación

Laravel Breeze te proporciona una base sólida, pero rara vez querrás usarlo tal cual. La belleza de Breeze radica en su facilidad para personalizarlo. En esta sección, veremos cómo adaptar el frontend Laravel Breeze a tus necesidades. Esta configuración Laravel Breeze es clave para integrar el paquete a tu proyecto.

Personalizar las Vistas: Blade o Inertia.js

Dependiendo del stack que elegiste (Blade o Inertia.js), la personalización de las vistas se realizará en diferentes ubicaciones.

Si elegiste Blade:

Las vistas generadas por Breeze Laravel se encuentran en el directorio resources/views/auth/ y resources/views/dashboard.blade.php. Puedes modificar directamente estos archivos para cambiar el texto, añadir campos o ajustar el diseño.

Por ejemplo, para cambiar el texto en la página de inicio de sesión:

  1. Abre resources/views/auth/login.blade.php.

  2. Busca el título o el texto que deseas modificar y edítalo.

<!-- En resources/views/auth/login.blade.php -->
<x-auth-card>
    <x-slot name="logo">
        <a href="/">
            <x-application-logo class="w-20 h-20 fill-current text-gray-500" />
        </a>
    </x-slot>

    <!-- Puedes cambiar el texto aquí o cualquier otro elemento HTML -->
    <div class="mb-4 text-sm text-gray-600">
        {{ __('¡Bienvenido de nuevo! Inicia sesión en tu cuenta') }}
    </div>

    <!-- ... más código ... -->
</x-auth-card>

Para personalizar la página del dashboard, edita resources/views/dashboard.blade.php.

Si elegiste Inertia.js (Vue, React, Svelte):

Las vistas se encuentran en resources/js/Pages/Auth/ y resources/js/Pages/Dashboard.vue (o .jsx para React, .svelte para Svelte). Estos son componentes de tu framework JavaScript.

Por ejemplo, para Vue.js en un tutorial Breeze inertia:

  1. Abre resources/js/Pages/Auth/Login.vue.

  2. Modifica el contenido del componente Vue.

<!-- En resources/js/Pages/Auth/Login.vue (Ejemplo Vue) -->
<template>
    <GuestLayout>
        <Head title="Log in" />

        <div class="mb-4 text-sm text-gray-600">
            Inicia sesión en tu increíble aplicación
        </div>

        <!-- ... más código ... -->
    </GuestLayout>
</template>

Importante: Después de modificar las vistas de Inertia, a menudo necesitarás recompilar tus activos con npm run dev o npm run build.

Modificar Rutas de Autenticación y Redirecciones

Las rutas de autenticación de Laravel Breeze se definen en el archivo routes/auth.php (si Breeze lo crea para una mayor modularidad) o directamente en routes/web.php. Breeze utiliza las rutas por defecto de Fortify (el paquete subyacente de autenticación).

Puedes ver cómo se definen las rutas en routes/web.php de la siguiente manera:

// En routes/web.php
use App\Http\Controllers\ProfileController;
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'; // Incluye las rutas de autenticación de Breeze

Si deseas cambiar la ruta de redirección después del inicio de sesión (por ejemplo, de /dashboard a /home), puedes hacerlo modificando la propiedad HOME en el archivo app/Providers/RouteServiceProvider.php:

// En app/Providers/RouteServiceProvider.php
public const HOME = '/home'; // Cambia de '/dashboard' a '/home'

Después de hacer este cambio, no olvides crear la vista resources/views/home.blade.php si no existe, o modificar la ruta en web.php que apunta a /dashboard para que apunte a la vista que prefieras.

Adaptar Estilos y CSS con Tailwind CSS

Laravel Breeze viene configurado con Tailwind CSS por defecto, lo que facilita enormemente la personalización del diseño. Todos los estilos están definidos en resources/css/app.css y el archivo de configuración de Tailwind se encuentra en tailwind.config.js.

Para adaptar los estilos de tu plantilla Laravel Breeze:

  1. Modificar tailwind.config.js: Aquí puedes extender o anular la configuración predeterminada de Tailwind, añadiendo tus propios colores, fuentes, tamaños de pantalla, etc. Por ejemplo, puedes añadir una nueva paleta de colores.

    // En tailwind.config.js
    module.exports = {
      // ...
      theme: {
        extend: {
          colors: {
            "custom-blue": "#243c5a",
          },
        },
      },
      // ...
    };
    
  2. Añadir CSS personalizado: Puedes añadir tus propias reglas CSS a resources/css/app.css. Estos estilos se compilarán junto con Tailwind.

    /* En resources/css/app.css */
    @tailwind base;
    @tailwind components;
    @tailwind utilities;
    
    /* Tus estilos personalizados */
    .btn-primary {
      @apply bg-blue-500 text-white font-bold py-2 px-4 rounded;
    }
    

Después de cualquier cambio en los archivos CSS o de configuración de Tailwind, deberás recompilar tus activos de frontend. Si estás en desarrollo, npm run dev lo hará automáticamente. Si no, ejecuta:

npm run dev

O para producción:

npm run build

Con estas personalizaciones, tu proyecto Laravel Breeze comenzará a tomar la apariencia y el comportamiento que deseas, demostrando la flexibilidad de este starter kit Laravel.


Cómo Usar Laravel Breeze: Autenticación en Acción

Una vez que Laravel Breeze está instalado y configurado, puedes empezar a interactuar con el sistema de autenticación preconstruido. Esta sección detalla cómo funcionan las principales características: registro, inicio de sesión y recuperación de contraseñas. Esto te ayudará a comprender mejor el scaffolding Laravel Breeze en acción.

Para probar estas funcionalidades, asegúrate de que tu servidor de desarrollo Laravel esté en ejecución:

php artisan serve

Luego, abre tu navegador y navega a http://127.0.0.1:8000.

Registro de Usuarios: Creando Nuevas Cuentas

La página de registro te permite crear nuevas cuentas de usuario en tu aplicación.

  1. Acceso: Navega a http://127.0.0.1:8000/register.

  2. Formulario: Verás un formulario con los campos Name (Nombre), Email y Password (Contraseña) con confirmación.

  3. Creación de cuenta:

    • - Ingresa un nombre, una dirección de correo electrónico válida y una contraseña (y confírmala).

    • - Haz clic en el botón "Register" (Registrarse).

    • - Si los datos son válidos, el usuario se creará en la tabla users de tu base de datos y serás automáticamente redirigido al dashboard (/dashboard por defecto).

Laravel Breeze se encarga de la validación de los datos, el hashing seguro de la contraseña y el almacenamiento del usuario en la base de datos, todo con las mejores prácticas de seguridad de Laravel.

Inicio y Cierre de Sesión: Gestión de Acceso

Una vez que tienes una cuenta, puedes iniciar y cerrar sesión en tu aplicación.

Inicio de Sesión:

  1. Acceso: Navega a http://127.0.0.1:8000/login.

  2. Credenciales: Introduce el correo electrónico y la contraseña de un usuario registrado.

  3. Sesión: Haz clic en el botón "Log in" (Iniciar sesión).

  4. Redirección: Si las credenciales son correctas, serás autenticado y redirigido al dashboard.

  5. Recordar Sesión: Breeze incluye una casilla "Remember me" (Recordarme) que, si se marca, mantendrá al usuario logueado durante un período de tiempo más largo, incluso si cierra el navegador, utilizando cookies seguras.

Cierre de Sesión:

  1. Acceso: Una vez autenticado, en la mayoría de las plantillas Breeze, verás un botón o enlace "Log Out" (Cerrar Sesión) en la esquina superior derecha o en el menú de usuario.

  2. Cierre: Haz clic en este enlace. Esto enviará una solicitud POST a la ruta de cierre de sesión.

  3. Redirección: Serás desautenticado y redirigido a la página de inicio o a la página de inicio de sesión, según la configuración de tu aplicación.

Breeze maneja la gestión de sesiones de Laravel automáticamente, utilizando la protección CSRF para la seguridad, aspecto clave en cualquier autenticación Laravel Breeze.

Recuperación de Contraseñas: Flujo Completo

Laravel Breeze también te proporciona un flujo completo para que los usuarios puedan recuperar sus contraseñas en caso de olvido.

  1. Acceso: En la página de inicio de sesión (/login), haz clic en el enlace "¿Forgot your password?" (¿Olvidaste tu contraseña?). Esto te llevará a http://127.0.0.1:8000/forgot-password.

  2. Correo electrónico: Introduce la dirección de correo electrónico asociada a tu cuenta y haz clic en "Email Password Reset Link" (Enviar Enlace de Restablecimiento de Contraseña).

  3. Envío de correo: Laravel enviará un correo electrónico a esa dirección con un enlace único para restablecer la contraseña.

    • - Para que esto funcione en tu entorno local, necesitarás configurar el envío de correos electrónicos en tu archivo .env. Puedes usar un servicio como Mailpit (anteriormente MailHog) o Mailtrap para capturar los correos electrónicos localmente sin enviarlos realmente.

  4. Restablecimiento: Haz clic en el enlace del correo electrónico. Esto te llevará a la página http://127.0.0.1:8000/reset-password.

  5. Nueva contraseña: Aquí, introducirás tu correo electrónico, el token que viene pre-rellenado desde el enlace del correo, y tu nueva contraseña (con confirmación).

  6. Actualización: Haz clic en "Reset Password" (Restablecer Contraseña). Tu contraseña se actualizará en la base de datos y serás redirigido al inicio de sesión o directamente al dashboard si se te autentica automáticamente.

Este flujo de autenticación Laravel Breeze es robusto y seguro, cubriendo las necesidades básicas de cualquier aplicación web. Con estos ejemplos, puedes ver el potencial del tutorial Laravel Breeze para un desarrollo rápido.


Conclusión: Empieza a Desarrollar con Laravel Breeze

Hemos recorrido un camino completo, desde la instalación básica hasta la personalización y solución de problemas con Laravel Breeze. Esperamos que esta guía Laravel Breeze paso a paso te haya proporcionado las herramientas y la confianza necesarias para implementar un sistema de autenticación eficiente en tus proyectos Laravel.

Laravel Breeze es, sin duda, una de las mejores opciones para empezar rápidamente con un sistema de autenticación sólido y gratuito. Su simplicidad, flexibilidad y la integración con herramientas modernas como Tailwind CSS y opciones como Inertia.js o Livewire lo convierten en una elección excelente tanto para principiantes como para desarrolladores experimentados.

Ahora es tu turno. ¡Empieza a crear tu proyecto Laravel Breeze y lleva tus ideas al siguiente nivel! Si tienes alguna pregunta o necesitas más ayuda, no dudes en dejar un comentario o consultar la documentación Laravel Breeze oficial. ¡Feliz codificación!

Preguntas Frecuentes

Sí, técnicamente es posible, pero no es un proceso directo. Breeze genera archivos específicos para el stack que elijas (blade, livewire o inertia). Si deseas cambiarlo, la forma más sencilla y recomendada es eliminar los archivos de Breeze (composer remove laravel/breeze) y reinstalarlo (composer require laravel/breeze --dev y luego php artisan breeze:install) eligiendo el nuevo stack. Esto sobrescribirá las vistas y archivos JS/CSS relevantes, por lo que cualquier personalización previa se perderá y deberá ser recreada.

Laravel Breeze es un starter kit de autenticación minimalista y ligero, ideal para proyectos que requieren una base de autenticación sencilla. Jetstream, por otro lado, es una solución más robusta y completa que incluye características adicionales como gestión de equipos, autenticación de dos factores, y soporte para APIs con Laravel Sanctum, siendo más adecuado para aplicaciones con requisitos más complejos o SaaS.

Para añadir campos al formulario de registro, primero debes crear una migración para añadir la nueva columna a la tabla users en tu base de datos. Luego, modifica la vista de registro (ya sea en Blade o en tu componente Inertia) para incluir el nuevo campo. Finalmente, y de forma crucial, actualiza el método store en el controlador App\Http\Controllers\Auth\RegisteredUserController.php para incluir la validación y el almacenamiento del nuevo dato en la base de datos.

Nosotros utilizamos cookies

Este sitio utiliza cookies para mejorar su experiencia de usuario.

Puedes aceptar todas las cookies pulsando en el botón de "Aceptar todas", rechazar todas las cookies pulsando el botón de "Rechazar cookies" o configurar manualmente usando el botón de "más opciones"

Para más información visita nuestra Política de cookies

Personaliza las Cookies

Estas cookies son necesarias para que el sitio web funcione y no se pueden desactivar en nuestros sistemas. Usualmente están configuradas para responder a acciones hechas por tí para recibir servicios, tales como ajustar tus preferencias de privacidad, iniciar sesión en el sitio, o llenar formularios. Puedes configurar tu navegador para bloquear o alertar la presencia de estas cookies, pero algunas partes del sitio web no funcionarán. Estas cookies no guardan ninguna información personal identificable.

Estas cookies nos permiten contar las visitas y fuentes de circulación para poder medir y mejorar el desempeño de nuestro sitio. Nos ayudan a saber qué páginas son las más o menos populares, y ver cuántas personas visitan el sitio. Toda la información que recogen estas cookies es agregada y, por lo tanto, anónima.