53 🔒 LÓGICA CRUD de Perfil: Actualizar Nombre/Email y Cambiar Contraseña Segura | Laravel 12

Duración: 18 min
Módulo: ⚙️ Gestión de Órdenes, Perfiles y Características Avanzadas 43-61 Lección 11 de 19

¡Contenido Exclusivo!

Adquiere este curso para tener acceso inmediato a esta y a **todas las lecciones Premium**.

Inscribirse Ahora por $10.00 Acceso instantáneo de por vida y código fuente incluido.

Descripción

Lección 53: 🔒 Lógica CRUD de Perfil | Actualizar Nombre/Email y Cambio de Contraseña Segura en Laravel

Esta lección se enfoca en la implementación de la lógica de backend (CRUD) para las funcionalidades de "Ajustes de Cuenta" en el Dashboard del cliente, garantizando la seguridad y la correcta actualización de los datos del usuario.

1. Actualización de Información Personal (Nombre y Email)

Se configura el formulario de información personal para procesar los cambios solicitados por el usuario:

  • Definición de Ruta 🛣️: Se crea la ruta ajustes/informacion-personal con el método PUT (simulado con POST y token) para manejar la actualización [01:18].
  • Ajustes del Formulario 📝: Se elimina una clase de la plantilla base que interfería con el envío del formulario, permitiendo que la información (nombre y email) viaje al controlador [05:04].
  • Validación Estricta 🔑:
    • Se requiere que el nombre y el email sean campos obligatorios.
    • Se valida que el email sea único en la tabla usuarios, con la excepción del propio ID del usuario autenticado (Auth::user()->id), evitando errores al guardar el email actual [05:53].
  • Proceso de Actualización: Se busca al usuario autenticado, se actualizan los campos name y email con los datos del request, y se guarda el modelo [06:17].
  • Mensaje de Éxito 🎉: Se redirige a la vista anterior con un mensaje de success que confirma la actualización [06:34].

2. Implementación de Cambio de Contraseña Segura

Se desarrolla la funcionalidad crítica de seguridad para permitir al usuario cambiar su contraseña:

  • Definición de Ruta 🔐: Se crea la ruta ajustes/actualizar-password también con el método PUT [01:50].
  • Nombres de Campos: Se utilizan los nombres de campos recomendados por Laravel:
    • current_password: Contraseña actual del usuario [08:25].
    • password: La nueva contraseña.
    • password_confirmation: Confirmación para verificar la nueva contraseña [09:07].
  • Validación de Seguridad 🛡️:
    • La nueva contraseña debe ser requerida y tener un mínimo de 8 caracteres [11:05].
    • Se utiliza la regla confirmed de Laravel para asegurar que password y password_confirmation sean idénticas, rebotando un error si no coinciden [11:14].
  • Verificación de Contraseña Actual 🚨: Esta es la medida de seguridad clave. Antes de actualizar, se utiliza Hash::check() para verificar que la current_password ingresada por el usuario coincida con la contraseña encriptada almacenada en la base de datos [11:30].
    • Si la verificación falla, se devuelve un error específico: "La contraseña actual es incorrecta" [12:38].
  • Actualización y Encriptación: Si todas las validaciones pasan, se encripta y se actualiza el campo password con la nueva clave, garantizando que el usuario esté seguro [12:00].