Todo lo que querrías saber antes de instalar.
Una mirada detallada a cómo funciona DataFirefly Magic Link, por qué lo construimos así y la lógica detrás de las características anteriores.
¿Por qué sustituir la contraseña?
Los estudios de e-commerce muestran que el 30 a 40 por ciento de los carritos abandonados en la fase de inicio de sesión se pierden porque el cliente olvidó su contraseña. Y cada solicitud de restablecimiento genera un correo, una demora, a veces un ticket de soporte. El magic link elimina esa fricción: el cliente introduce su correo, recibe un enlace, hace clic y ya está dentro. Más sencillo para él, menos soporte para ti y un proceso de compra más rápido.
Cómo funciona el módulo
Debajo del formulario estándar de inicio de sesión, un segundo formulario ofrece la conexión por correo. El cliente introduce su dirección, una petición AJAX genera un token aleatorio de 256 bits, almacena en la base de datos solo su hash SHA-256 y envía un correo con el token bruto. El cliente hace clic en el enlace del correo, llega a una página de confirmación, valida con un clic y queda autenticado en la sesión de PrestaShop exactamente como con un inicio de sesión clásico. Los hooks nativos de autenticación se disparan, por lo que el resto de tus módulos siguen funcionando normalmente.
Seguridad pensada para producción
El token bruto solo existe en el correo enviado. En la base de datos solo se almacena el hash SHA-256. Una fuga de la tabla no proporciona, por tanto, ningún enlace utilizable. Cada token es de un solo uso y queda marcado como consumido en cuanto se utiliza. La ventana de validez es configurable (15 minutos por defecto, 24 horas máximo). Un doble limitador vigila el número de solicitudes por dirección IP y por cuenta de cliente en una hora deslizante, con umbrales ajustables. Y la respuesta AJAX es intencionalmente genérica para impedir que un atacante distinga una cuenta existente de una inexistente.
El problema de los escáneres de correo, y la solución
Outlook con Safe Links, Gmail con su vista previa, los antivirus corporativos y los proxies de seguridad visitan automáticamente cada enlace de los correos entrantes para analizarlos. Si el módulo consumiera el token en el primer GET, esos escáneres quemarían el enlace antes incluso de que el cliente pudiera hacer clic. Por eso el módulo utiliza un flujo en dos pasos: el GET muestra una página de confirmación autónoma con un botón, y solo el POST disparado por el clic real consume el token. Los escáneres no envían formularios arbitrarios, por lo que no pueden quemar el enlace. Mismo patrón utilizado por Slack, Notion, Vercel y Auth0 para sus magic links.
Página de confirmación universal
La página a la que llega el cliente tras hacer clic en el enlace se renderiza como un documento HTML5 autónomo, independiente de la plantilla de PrestaShop. Esto garantiza un renderizado perfecto en cualquier plantilla: Classic, Hummingbird, Warehouse, MySmartBook o personalizada. La página permanece sobria y centrada, con el nombre de la tienda en la cabecera, un título de bienvenida personalizado, un botón azul de validación y una nota de seguridad. Sin dependencia de CSS externo, sin framework JavaScript cargado, renderizado instantáneo.
Multilingue automático
El módulo incluye plantillas de correo HTML y texto plano traducidas a los cuatro idiomas oficiales de PrestaShop Francia: francés, inglés, español y alemán. El idioma del correo enviado se corresponde automáticamente con el idioma de la cuenta del cliente. Las cadenas de interfaz (formulario de solicitud, página de confirmación, mensajes de error) también se traducen a través del sistema de traducción estándar de PrestaShop, por lo que se pueden personalizar desde el back-office si es necesario.
Configuración y estadísticas en el back-office
Una página de configuración accesible desde el Gestor de módulos expone todos los parámetros: activación, visualización del formulario en la página de inicio de sesión, ventana de validez, umbrales de limitación de tasa, redirección posterior. Tres contadores en tiempo real muestran tokens activos, conexiones de las últimas 24 horas y enlaces emitidos. Un botón permite purgar manualmente los tokens caducados. El guardado utiliza un patrón POST y luego redirect y luego GET para evitar falsos positivos de clasificadores de phishing como Google Safe Browsing.
No hay valoraciones aún.