29 🔐 LOGIN y AUTENTICACIÓN de Clientes | Implementando el Sistema en la Tienda Online | Laravel 12

Duración: 29 min
Módulo: 🛒 Tienda Online (Frontend Shop) y Funcionalidades 25-33 Lección 5 de 9

Descripción

Lección 29: 🔐 Login y Autenticación de Clientes en la Tienda Online

Este capítulo establece el sistema de autenticación de usuarios (clientes) en el front-end de la tienda, una funcionalidad esencial para guardar las preferencias (como los "Me gusta") y gestionar el carrito de compras de cada visitante.

🗺️ Creación de Rutas Protegidas

Para asegurar que solo los usuarios autenticados puedan realizar acciones clave, se definen rutas protegidas:

  • Dashboard del Cliente: Se crea la ruta /dashboard, la cual permitirá al cliente ver sus productos favoritos, historial de órdenes y más [04:11].
  • Carrito de Compras: Se crea la ruta /carrito, dedicada a la visualización y gestión de los productos que el cliente desea comprar [05:06].
  • Controlador Específico: Ambas rutas son gestionadas por un nuevo DashboardController [03:46].

🚨 Implementación de la Autenticación Manual

Se personaliza el proceso de login para redirigir a los clientes a una vista que coincide con el diseño de la tienda:

  • Redirección Personalizada: Al intentar acceder a una ruta protegida (/dashboard o /carrito), el sistema verifica la autenticación. Si el cliente no está autenticado, es redirigido a una nueva vista de login con el diseño de la plantilla web [08:58].
  • Ruta de Login Web: Se establece la ruta /web-login para el formulario de acceso del cliente, evitando conflictos con el login del administrador [14:07].
  • Diseño Integrado: Se copia y adapta la plantilla HTML de login al archivo login.blade.php, asegurando que se vea estéticamente coherente con el resto del sitio [15:52]. Se traduce el texto al español y se ajustan los placeholders [18:55].

🔑 Lógica de Inicio de Sesión (Login Post)

Se desarrolla la función que procesa las credenciales enviadas por el cliente:

  • Ruta POST para Credenciales: Se crea una ruta con método POST hacia la función autenticacion dentro del controlador [22:03].
  • Recepción y Validación: La función recibe las credenciales (email y password), las valida y utiliza la función Auth::attempt() de Laravel para verificar la información contra la base de datos [25:20].
  • Redirección Exitosa: Si la autenticación es exitosa, el usuario es redirigido a la página que intentaba visitar originalmente (intended()) o al dashboard por defecto [25:53].
  • Acceso a Contenido: Una vez autenticado, el cliente puede acceder libremente a las rutas protegidas (/dashboard y /carrito), habilitando las funcionalidades avanzadas de la tienda [27:32].