Two-Factor Authentication (2FA) — Autenticación en dos pasos para el back office

Two-Factor Authentication (2FA) añade un segundo paso al inicio de sesión en el back office de PrestaShop: tras su contraseña, cada empleado introduce el código de 6 dígitos de una aplicación de autenticación instalada en su teléfono (TOTP). Con una contraseña robada, ninguna página, ningún formulario y ninguna llamada AJAX del back office se ejecuta sin ese código.

El módulo busca el equilibrio entre seguridad y comodidad: un dispositivo de confianza recordado 30 días, una sesión verificada de 12 horas, perfiles obligatorios con periodo de gracia, un panel y un registro para los superadministradores, y varias vías de recuperación si se pierde un teléfono.

Puntos fuertes:

  • Códigos TOTP compatibles con Google Authenticator, Microsoft Authenticator, Authy, 1Password y Bitwarden
  • Un código al mes y por navegador: dispositivo de confianza de 30 días, independiente de la dirección IP (ajustable)
  • Sesión verificada de 12 horas (ajustable), terminada al cerrar la sesión
  • 2FA obligatoria por perfil, con periodo de gracia y aviso de advertencia
  • «Mi autenticación en dos pasos» para cada empleado; panel, registro, restablecimiento y desbloqueo para los superadministradores
  • 10 códigos de recuperación por empleado, restablecimiento por un administrador, archivo DISABLE_2FA y comando de consola de emergencia
  • Bloqueo tras códigos erróneos, guardado en la base de datos
  • La licencia nunca desactiva la protección
  • Interfaz en francés, inglés, español, italiano y polaco, sin overrides ni bibliotecas PHP de terceros

Ver el módulo y las ofertas


Presentación

Una contraseña sola ya no basta para proteger la administración de una tienda online: phishing, filtraciones de datos, contraseñas reutilizadas o compartidas. Y el back office da acceso a los precios, los pedidos, los ficheros de clientes y la creación de cuentas de administrador.

Con Two-Factor Authentication (2FA):

  1. El empleado introduce su identificador y su contraseña como de costumbre.
  2. Una página de código independiente, sin menú ni enlaces del back office, le pide el código de 6 dígitos de su aplicación.
  3. El código se verifica antes de cualquier acción del back office. Si la casilla Recordar este dispositivo está marcada, este navegador no vuelve a pedir código durante 30 días; si no, la verificación sigue siendo válida 12 horas.

El control se aplica a las páginas, a los formularios (POST) y a las llamadas AJAX o JSON: solo con la contraseña, una página se redirige a la página de código y una llamada AJAX recibe una respuesta 401 sin datos. Límite conocido en PrestaShop 1.7: tres antiguos scripts independientes de PrestaShop quedan fuera del control (véase «Resolución de problemas»).


Funcionalidades

Código de un solo uso (TOTP)

  • Estándar TOTP (RFC 6238): código de 6 dígitos renovado cada 30 segundos, generado sin conexión por la aplicación
  • Compatible con Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden y cualquier aplicación TOTP
  • Un código solo se acepta una vez; el reloj del teléfono puede estar desfasado un periodo de 30 segundos
  • El código se envía en cuanto se escribe el sexto dígito
  • Secretos guardados en un formato cifrado y autenticado; códigos de recuperación conservados como hash

Un inicio de sesión que no estorba al equipo

  • Dispositivo de confianza: una cookie por empleado y por navegador (HttpOnly, SameSite=Lax), válida 30 días por defecto sea cual sea la dirección IP; vinculación a la dirección IP opcional
  • Sesión verificada: el código introducido sigue siendo válido 12 horas por defecto (de 1 a 168 horas); cerrar la sesión lo anula
  • La casilla «Recordar este dispositivo» viene marcada por defecto (ajustable)
  • Cada empleado ve sus dispositivos (navegador, sistema, último uso, validez) y quita los que ya no utiliza; 20 dispositivos como máximo por empleado

Perfiles obligatorios y periodo de gracia

  • Elección de los perfiles para los que la 2FA es obligatoria (por ejemplo SuperAdmin); los demás empleados la activan libremente
  • Periodo de gracia de 7 días por defecto, contado desde el día en que el perfil pasa a ser obligatorio: durante ese plazo, un aviso indica los días restantes y el empleado puede elegir «Ahora no»
  • Pasado el plazo, el empleado es enviado a la página de configuración y no puede abrir el back office hasta terminarla

Mi autenticación en dos pasos y el panel

  • Cada empleado gestiona su 2FA desde «Mi autenticación en dos pasos»: activar, cambiar de teléfono, crear nuevos códigos de recuperación, gestionar sus dispositivos de confianza y, fuera de un perfil obligatorio, desactivar
  • Los superadministradores disponen de un panel: número de empleados, empleados protegidos, configuraciones obligatorias pendientes, cuentas bloqueadas, y una tabla con el perfil, el estado, los códigos de recuperación restantes, los dispositivos y el último código introducido de cada uno
  • Restablecer (teléfono perdido) o desbloquear a un compañero se hace desde la tabla, confirmando con su propio código
Panel de un superadministrador: 4 empleados, 3 de ellos protegidos, una configuración obligatoria pendiente, un empleado bloqueado, con los botones Restablecer y DesbloquearPanel de empleados

Registro de seguridad

  • Códigos aceptados o erróneos, códigos de recuperación usados, bloqueos y desbloqueos, cambios de teléfono, nuevos códigos de recuperación, dispositivos añadidos o quitados, restablecimientos, desactivaciones
  • Filtro por empleado, paginación, dirección IP y detalle de cada línea; no se guarda ningún código ni secreto
  • Purga automática una vez al día (90 días por defecto)

Acceso de emergencia

  • 10 códigos de recuperación de un solo uso por empleado
  • Restablecimiento por un superadministrador desde el panel
  • Comando de consola wepresta:2fa:disable (un empleado o toda la tienda, con simulación)
  • Archivo DISABLE_2FA en la carpeta del módulo: suspende la petición de código para todos mientras exista, con un aviso rojo para los superadministradores

Licencia y aspectos técnicos

  • La licencia nunca desactiva la protección: al caducar, solo se bloquean los ajustes y el panel
  • Sin overrides del núcleo de PrestaShop, sin bibliotecas PHP de terceros, archivo de menos de 250 KB
  • Interfaz disponible en francés, inglés, español, italiano y polaco

Requisitos

  • PrestaShop: 1.7.8, 8.2+ o 9.1+. PrestaShop 1.7.7, 8.0, 8.1 y 9.0 no son compatibles.
  • PHP: 7.4 como mínimo, en una versión compatible con su PrestaShop, con las extensiones json, openssl y mbstring.
  • Una aplicación de autenticación en el teléfono de cada empleado afectado (Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden o equivalente) y la hora del teléfono en modo automático.
  • HTTPS recomendado para el back office.

Instalación

Método 1 — desde el back office (recomendado)

  1. Descargue el archivo desde su área de cliente WePresta
  2. Vaya a Módulos > Gestor de módulos
  3. Haga clic en Subir un módulo
  4. Seleccione el archivo ZIP descargado
  5. Espere a que termine la instalación, haga clic en Configurar y active su licencia

Método 2 — por FTP

  1. Descomprima el archivo ZIP
  2. Suba la carpeta wepresta_admin_2fa/ a /modules/
  3. En el back office: Módulos > Gestor de módulos
  4. Busque el módulo y haga clic en Instalar
  5. Haga clic en Configurar y active su licencia

Qué hace la instalación

  • Crea las tablas del módulo (inscripciones, dispositivos de confianza, registro)
  • Registra los hooks necesarios y abre la página de código y «Mi autenticación en dos pasos» a todos los perfiles, incluidos los creados más tarde; el panel sigue reservado a los superadministradores
  • Inicializa los ajustes: 2FA activada, ningún perfil obligatorio

Nota: mientras no haya elegido un perfil obligatorio, nadie está obligado a configurar la 2FA. Cada empleado puede activarla por sí mismo; la página de ajustes y el panel le avisan si su propia cuenta aún no está protegida.


Actualización desde la versión 1.0.0

  1. Haga una copia de seguridad de su tienda (archivos y base de datos).
  2. Suba el archivo 2.0.0 en Módulos > Gestor de módulos: PrestaShop lanza la actualización.
  3. Se conservan las inscripciones, los códigos de recuperación, el registro y sus ajustes. Los archivos innecesarios de la versión 1.0.0 se eliminan.
  4. Los dispositivos de confianza de la versión 1.0.0 dejan de reconocerse: cada empleado introduce su código una vez por navegador.
  5. El periodo de gracia de los perfiles ya obligatorios se reinicia el día de la actualización.
  6. Si la verificación de licencia de la versión 1.0.0 había desactivado el módulo, la actualización lo reactiva.
  7. Abra los ajustes, revise los perfiles obligatorios y las duraciones, y compruebe su propio inicio de sesión.

Configuración

Acceso: Módulos > Gestor de módulos > Configurar. Los botones Mi autenticación en dos pasos y Abrir el panel están en el mismo bloque.

Ajustes

  • Activar la autenticación en dos pasos: si está desactivada, nadie debe introducir un código; las inscripciones se conservan
  • Obligatoria para estos perfiles: perfiles para los que la 2FA es obligatoria
  • Periodo de gracia: de 0 a 365 días (7 por defecto), contado desde el día en que el perfil pasa a ser obligatorio
  • Recordar un dispositivo durante: de 0 a 365 días (30 por defecto); 0 desactiva los dispositivos de confianza
  • Marcar «recordar este dispositivo» por defecto: preselecciona la casilla en la página del código
  • Vincular un dispositivo de confianza a su dirección IP: control más estricto, el código se vuelve a pedir en cada cambio de dirección
  • Volver a pedir el código después de: de 1 a 168 horas (12 por defecto), duración de la sesión verificada
  • Códigos erróneos antes del bloqueo: de 1 a 20 (5 por defecto)
  • Duración del bloqueo: de 1 a 1440 minutos (15 por defecto)
  • Nombre que muestra la aplicación de autenticación: el nombre de la tienda por defecto
  • Conservar el registro durante: de 7 a 3650 días (90 por defecto); los eventos más antiguos se eliminan automáticamente

Licencia

Active su licencia en los ajustes del módulo. Sin licencia activa, la 2FA sigue aplicándose, pero los ajustes y el panel quedan bloqueados tras el formulario de licencia; un aviso invita a renovarla. Activar o renovar la licencia reabre los ajustes.


Activar su 2FA (empleado)

  1. Abra Mi autenticación en dos pasos en el menú de su perfil (arriba a la derecha del back office) y haga clic en Configurar.
  2. Instale una aplicación de autenticación en su teléfono si aún no lo ha hecho.
  3. Escanee el código QR con la aplicación. En el propio teléfono, use Abrir en la aplicación de este teléfono; si no, escriba la clave que aparece bajo el código QR.
  4. Introduzca el código que muestra la aplicación para confirmar y haga clic en Activar la autenticación en dos pasos.
  5. Guarde sus 10 códigos de recuperación (copiar, descargar o imprimir) y haga clic en He guardado mis códigos de recuperación. No se volverán a mostrar.

Durante el periodo de gracia de un perfil obligatorio, un aviso propone configurar la 2FA; después, la página de configuración se abre sola. Un error al escribir no cambia el código QR.

Página de configuración: instalar una aplicación de autenticación, escanear el código QR (o escribir la clave) e introducir el código que muestra la aplicaciónConfiguración en tres pasos

En cada inicio de sesión

Tras la contraseña, introduzca el código de 6 dígitos; se envía en cuanto escribe el sexto dígito. Marque Recordar este dispositivo para no volver a introducirlo en este navegador durante 30 días. Con un código de recuperación, haga clic en Usar un código de recuperación.

Página «Verifique su identidad»: campo del código de 6 dígitos, casilla «Recordar este dispositivo durante 30 días» marcada y enlace a los códigos de recuperaciónPágina de código tras la contraseña

Gestionar su 2FA

La página Mi autenticación en dos pasos permite:

  • Cambiar de teléfono: se pide un código de la aplicación actual (o un código de recuperación) y la configuración vuelve a empezar
  • Crear nuevos códigos de recuperación: se pide un código y se anulan los códigos anteriores; aparece una alerta cuando quedan pocos
  • Quitar un dispositivo de confianza o todos los dispositivos
  • Desactivar la autenticación en dos pasos, salvo que su perfil sea obligatorio
Página «Mi autenticación en dos pasos»: estado activado, 10 códigos de recuperación sin usar y lista de dispositivos de confianza (Chrome / macOS, Safari / iOS) con su fecha de validezMi 2FA: códigos de recuperación y dispositivos de confianza

Gestionar el equipo (panel)

Acceso: Módulos > Gestor de módulos > Configurar, botón Abrir el panel (solo superadministradores).

  • Los cuatro contadores indican el número de empleados, de empleados protegidos, de configuraciones obligatorias sin hacer y de cuentas bloqueadas.
  • La pestaña Empleados muestra para cada uno: perfil, estado (Protegido, Obligatoria antes del …, Obligatoria, configurar ahora o Desactivada), códigos de recuperación restantes, dispositivos y último código introducido.
  • Restablecer elimina la 2FA de un empleado que ha perdido su teléfono; la configurará de nuevo en su próximo inicio de sesión. Desbloquear le permite volver a intentarlo enseguida.
  • Cada acción pide su código actual (o un código de recuperación) en un panel de confirmación y queda anotada en el registro.
  • La pestaña Registro lista los eventos, con un filtro por empleado.

Acceso de emergencia

De lo más sencillo a lo más radical:

  1. Código de recuperación: el empleado introduce uno de sus 10 códigos en la página de código.
  2. Restablecimiento por otro superadministrador desde el panel.
  3. Comando de consola, desde la carpeta de la tienda:
    • php bin/console wepresta:2fa:disable --employee=ID_O_EMAIL elimina la 2FA de un empleado
    • php bin/console wepresta:2fa:disable --all desactiva la protección de toda la tienda
    • la opción --dry-run simula sin cambiar nada
  4. Archivo DISABLE_2FA: cree un archivo vacío con ese nombre en modules/wepresta_admin_2fa/. Nadie debe introducir un código mientras exista; un aviso rojo se lo recuerda a los superadministradores. Elimínelo para restablecer la protección.

Para lanzar a demanda la purga del registro y de los dispositivos caducados: php bin/console wepresta:2fa:purge.


Casos de uso comunes

Proteger las cuentas críticas en una semana

Elija el perfil SuperAdmin (y los que acceden a pagos o exportaciones) en Obligatoria para estos perfiles, mantenga el periodo de gracia de 7 días y siga la adopción en el panel.

Un puesto de trabajo fijo

El dispositivo de confianza de 30 días limita la introducción a un código al mes y por navegador, sea cual sea la dirección IP.

Un puesto compartido o una conexión sensible

Ponga a 0 la duración de los dispositivos de confianza: la casilla «Recordar este dispositivo» desaparece y el código se vuelve a pedir tras la duración de la sesión verificada (12 horas por defecto, reducible). También puede vincular los dispositivos a la dirección IP para un control más estricto.

Un teléfono perdido

El empleado usa un código de recuperación, o un superadministrador hace clic en Restablecer en el panel.


FAQ

¿Para qué sirve la autenticación de dos factores (2FA) en el back-office?

La 2FA añade una segunda verificación al iniciar sesión en la administración. Aunque se robe una contraseña (phishing, filtración de datos, contraseña reutilizada), el back office sigue cerrado sin el código temporal generado en el teléfono del empleado. Es una protección directa contra la toma de control de una tienda: cambio de precios, desvío de pedidos, creación de cuentas de administrador o exportación de datos de clientes.

¿Qué tipo de 2FA se utiliza (SMS, correo electrónico, aplicación)?

El módulo utiliza el estándar TOTP (Time-based One-Time Password, RFC 6238): un código de 6 dígitos que cambia cada 30 segundos, generado por una aplicación de autenticación. No hacen falta SMS (costes, entrega) ni correos (buzón comprometido), y el código se genera sin conexión de red. Se acepta un teléfono con el reloj desfasado un periodo de 30 segundos; un mismo código solo funciona una vez.

¿Qué aplicaciones son compatibles (Google Authenticator, Authy, Microsoft...)?

Todas las aplicaciones TOTP: Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden y sus equivalentes. Cada empleado usa la aplicación que prefiera, sin herramienta propietaria obligatoria. El código QR se escanea con la aplicación; en un teléfono, el botón «Abrir en la aplicación» o escribir la clave de configuración evitan el escaneo.

¿Se puede forzar la 2FA solo para ciertos perfiles (ej. SuperAdmin)?

Sí. En los ajustes elige los perfiles para los que la 2FA es obligatoria, por ejemplo SuperAdmin y los perfiles con acceso a pagos, módulos o exportaciones. Los demás empleados pueden activarla ellos mismos desde «Mi autenticación en dos pasos». Un periodo de gracia (7 días por defecto) deja tiempo para equiparse: corre desde el día en que el perfil pasa a ser obligatorio y un aviso indica los días restantes.

¿Cómo evitar ralentizar al equipo con un código en cada conexión?

Se suman dos mecanismos. El dispositivo de confianza recuerda un navegador durante 30 días (ajustable), sea cual sea la dirección IP: el empleado introduce un código al mes y por navegador, con la casilla «Recordar este dispositivo» marcada por defecto. En un navegador no recordado, la verificación sigue siendo válida 12 horas (ajustable de 1 a 168 horas): un solo código por jornada de trabajo. Cerrar la sesión o quitar el dispositivo desde «Mi autenticación en dos pasos» vuelve a pedir el código. También puede vincular un dispositivo a su dirección IP para un control más estricto.

¿Qué pasa si un colaborador pierde su teléfono?

Inicia sesión con uno de sus 10 códigos de recuperación (de un solo uso) y configura su nueva aplicación con «Cambiar de teléfono». Si no le queda ningún código, un superadministrador abre el panel, pulsa «Restablecer» en su fila y confirma con su propio código: se elimina la 2FA del empleado y la configura de nuevo en su próximo inicio de sesión. Cada restablecimiento queda anotado en el registro.

¿Qué métodos de recuperación de emergencia están disponibles?

Cuatro vías, de la más sencilla a la más radical: el código de recuperación del empleado; el restablecimiento por otro superadministrador; el comando de consola wepresta:2fa:disable (opción --employee con el identificador o el correo del empleado, o --all para toda la tienda, y --dry-run para simular); el archivo vacío DISABLE_2FA colocado en la carpeta del módulo, que suspende la petición de código para todos mientras exista. Un aviso rojo recuerda su presencia a los superadministradores.

¿Protege el módulo contra ataques de fuerza bruta?

Bloquea el segundo paso: tras 5 códigos erróneos (ajustable de 1 a 20), el empleado queda bloqueado 15 minutos (ajustable de 1 a 1440 minutos). El bloqueo se guarda en la base de datos: volver a iniciar sesión con la contraseña no reinicia el contador. Un código solo se acepta una vez. El módulo no limita los intentos de contraseña.

¿Existe un historial de conexiones y eventos de seguridad?

Sí. El registro del panel, reservado a los superadministradores, muestra con la fecha, el empleado, la dirección IP y el detalle: códigos aceptados o erróneos, códigos de recuperación usados, bloqueos y desbloqueos, cambios de teléfono, nuevos códigos de recuperación, dispositivos añadidos o quitados, restablecimientos y desactivaciones. Se filtra por empleado y nunca contiene un código ni un secreto. Las líneas de más de 90 días (ajustable de 7 a 3650 días) se eliminan automáticamente.

¿El control protege también los formularios y las llamadas AJAX del back office?

Sí. El código se verifica antes de que el back office ejecute nada: páginas, formularios (POST), llamadas AJAX y JSON, páginas sin menú. Solo con la contraseña, una página se redirige a la página de código y una llamada AJAX recibe una respuesta 401 sin datos. Límite conocido en PrestaShop 1.7: los antiguos scripts independientes backup.php, pdf.php y get-file-admin.php responden a un empleado conectado sin pasar por el núcleo de PrestaShop; la página de ajustes lo señala e invita a eliminarlos.

¿Qué ocurre con la 2FA si caduca la licencia?

Sigue aplicándose. La licencia nunca desactiva la protección: al caducar (fin de la prueba, vencimiento, licencia suspendida o error del servidor de licencias), solo se bloquean los ajustes y el panel tras el formulario de licencia, con un aviso. Los empleados siguen iniciando sesión con su código. Activar o renovar la licencia reabre los ajustes.

¿Qué versiones de PrestaShop y de PHP son compatibles y cómo actualizar desde la versión 1.0.0?

El módulo funciona con PrestaShop 1.7.8, 8.2+ y 9.1+, y PHP 7.4 como mínimo, con un único archivo; PrestaShop 1.7.7, 8.0, 8.1 y 9.0 no son compatibles. Para actualizar, suba el archivo 2.0.0 en el gestor de módulos: se conservan las inscripciones, los códigos de recuperación y el registro. Los dispositivos de confianza de la versión 1.0.0 dejan de reconocerse: cada empleado introduce su código una vez por navegador.

¿La desinstalación elimina los datos?

Sí. Desinstalar el módulo detiene la protección y elimina las inscripciones, los dispositivos de confianza, el registro y los ajustes del módulo; PrestaShop pide una confirmación antes de hacerlo. Una vez desinstalado, el back office vuelve a estar protegido solo por la contraseña.

¿Se puede desactivar la 2FA para toda la tienda?

Sí, de forma temporal. El interruptor «Activar la autenticación en dos pasos» de los ajustes suspende la petición de código para todos sin eliminar las inscripciones; vuelva a activarlo para restablecer la protección. Para un solo empleado, use «Restablecer» en el panel o, si su perfil no es obligatorio, «Desactivar la autenticación en dos pasos» desde su página.

¿El módulo modifica el tema o el aspecto de la tienda?

No. El módulo solo actúa en el back office: no añade nada a lo que ven sus clientes, no sustituye ningún archivo de PrestaShop (sin overrides) y funciona, por tanto, con todos los temas.

¿Están protegidos los datos de la 2FA?

Sí. Los secretos TOTP se guardan en un formato cifrado y autenticado, los códigos de recuperación y los tokens de los dispositivos de confianza como huellas, y el registro nunca contiene un código ni un secreto. Las claves derivan de la clave de cifrado de PrestaShop, que no está en la base de datos: una exportación de la base por sí sola no permite generar un código válido.

¿Es seguro un dispositivo de confianza?

Se basa en una cookie propia del empleado y del navegador (HttpOnly, SameSite=Lax) de la que la base de datos solo guarda una huella. Caduca en la fecha elegida (30 días por defecto), el empleado puede quitarlo en cualquier momento desde «Mi autenticación en dos pasos» y usted puede vincularlo a la dirección IP para un control más estricto. En un puesto compartido, desactive los dispositivos de confianza (duración 0).


Resolución de problemas

El código nunca se acepta

  • Compruebe que la hora del teléfono está en modo automático: un desfase de más de 30 segundos hace fallar el código
  • Espere al siguiente código si el que se muestra acaba de usarse: un código solo se acepta una vez
  • Tras 5 códigos erróneos, la cuenta se bloquea 15 minutos por defecto: el mensaje indica el tiempo restante, o un superadministrador hace clic en Desbloquear

Ya no consigo abrir el back office

  • Use un código de recuperación o pida un restablecimiento a un superadministrador
  • Si no, aplique el acceso de emergencia: comando wepresta:2fa:disable o archivo DISABLE_2FA

Se vuelve a pedir el código con demasiada frecuencia

  • ¿Están activos los dispositivos de confianza (duración superior a 0) y está marcada la casilla «Recordar este dispositivo»?
  • ¿El navegador elimina sus cookies al cerrarse o el empleado usa la navegación privada?
  • ¿Está activada la vinculación a la dirección IP? El código se vuelve a pedir en cada cambio de dirección
  • ¿Se quitó el dispositivo desde «Mi autenticación en dos pasos»?

El enlace «Mi autenticación en dos pasos» no aparece

  • Vacíe la caché: Parámetros avanzados > Rendimiento > Vaciar caché
  • El enlace está en el menú del perfil, arriba a la derecha, junto a «Cerrar sesión»
  • Compruebe que el módulo está instalado y activado

Tras una instalación por línea de comandos, el control no parece aplicarse

  • Vacíe la caché de PrestaShop: el módulo también la reconstruye por sí mismo en cuanto detecta el problema (como máximo una vez cada 10 minutos)

La página de ajustes señala scripts que hay que eliminar

  • En PrestaShop 1.7, los antiguos scripts backup.php, pdf.php y get-file-admin.php responden a un empleado conectado sin pasar por el núcleo de PrestaShop, es decir, sin el control del módulo. Elimínelos si existen en la raíz de su tienda.

Un empleado ya no puede validar su código tras una migración de la tienda

  • Si ha cambiado la clave de cifrado de PrestaShop (_COOKIE_KEY_), los secretos guardados ya no son legibles: el registro indica «Secreto ilegible». Restablezca al empleado desde el panel o con el comando de consola y configurará de nuevo su 2FA.

Changelog

Versión 2.0.0

Novedades

  • El módulo funciona en PrestaShop 1.7.8, 8.2+ y 9.1+, con PHP 7.4 como mínimo, en un único archivo.
  • Cada empleado dispone de la página «Mi autenticación en dos pasos»: activar la 2FA, cambiar de teléfono, crear nuevos códigos de recuperación, gestionar sus dispositivos de confianza y, fuera de un perfil obligatorio, desactivarla.
  • El panel de los superadministradores lista los empleados (estado, fecha límite, códigos de recuperación restantes, dispositivos, último código introducido) y muestra el registro de seguridad, filtrable por empleado.
  • Un superadministrador restablece o desbloquea a un compañero desde el panel, confirmando con su propio código.
  • Un dispositivo de confianza se recuerda 30 días por navegador, sea cual sea la dirección IP; vincularlo a la dirección IP pasa a ser opcional.
  • La verificación sigue siendo válida 12 horas (ajustable de 1 a 168 horas) y termina al cerrar la sesión.
  • El periodo de gracia de un perfil obligatorio corre desde el día en que pasa a serlo, con un aviso que indica los días restantes.
  • La configuración lleva dos minutos: el código QR se conserva tras un error, la clave de configuración es legible y un botón abre la aplicación en el teléfono.
  • El registro y los dispositivos caducados se purgan automáticamente una vez al día; el comando de consola wepresta:2fa:purge lanza la purga a demanda.

Mejoras

  • El código se exige antes de cualquier acción del back office: páginas, formularios, llamadas AJAX y JSON.
  • Cambiar de teléfono o crear nuevos códigos de recuperación requiere un código válido.
  • Un código solo se acepta una vez y el reloj del teléfono puede estar desfasado un periodo de 30 segundos.
  • Los secretos se guardan en un formato cifrado y autenticado; los de la versión 1.0.0 siguen siendo legibles.
  • La página de código es independiente, sin menú ni enlace del back office, y se envía al sexto dígito.
  • La licencia ya nunca desactiva la 2FA: al caducar, solo se bloquean los ajustes y el panel, con un aviso.
  • Los dispositivos de confianza muestran el navegador y el sistema, por ejemplo «Chrome / macOS».
  • Se indica el número de códigos de recuperación restantes, con una alerta cuando quedan pocos.
  • Todos los perfiles, incluidos los creados más tarde, acceden a la página de código y a «Mi autenticación en dos pasos».
  • La interfaz está completa en francés, inglés, español, italiano y polaco, incluido el formulario de licencia.
  • El módulo no usa ninguna biblioteca PHP de terceros; el archivo pesa menos de 250 KB.

Correcciones

  • Solo con la contraseña, ya no se puede reemplazar el teléfono de un empleado ni mostrar nuevos códigos de recuperación.
  • Los formularios, las llamadas AJAX y las páginas sin menú ya no se ejecutan sin código.
  • Una licencia caducada, una prueba terminada o un error del servidor de licencias ya no cortan la protección.
  • El bloqueo tras códigos erróneos ya no se reinicia al volver a iniciar sesión.
  • La tolerancia de reloj es de un periodo de 30 segundos en lugar de un segundo.
  • El comando de consola de emergencia wepresta:2fa:disable funciona, y la consola de PrestaShop 9 ya no se detiene cuando el módulo está activo.
  • El panel está reservado a los superadministradores en todas las versiones.
  • El periodo de gracia ya no depende de la antigüedad de la cuenta.
  • La purga automática del registro y de los dispositivos caducados se ejecuta en PrestaShop 9.

Después de la actualización: se conservan sus inscripciones, sus códigos de recuperación y el registro. Los dispositivos de confianza de la versión 1.0.0 dejan de reconocerse: cada empleado introduce su código una vez por navegador. El periodo de gracia de los perfiles ya obligatorios se reinicia el día de la actualización. Si la verificación de licencia de la versión 1.0.0 había desactivado el módulo, la actualización lo reactiva.

Versión 1.0.0

  • Lanzamiento inicial
  • Autenticación TOTP
  • Códigos de recuperación
  • Dispositivos de confianza
  • Panel de administración
  • Registro de auditoría
  • Métodos de recuperación de emergencia

Soporte

Para cualquier ayuda, contáctenos a través de su área de cliente WePresta o por email en mail@wepresta.shop, según la opción de soporte de su oferta.

Antes de contactarnos, prepare:

  • versión de PrestaShop
  • versión de PHP
  • el evento afectado en el registro del panel
  • capturas de pantalla
  • logs de PrestaShop si los tiene

Ver el módulo y las ofertas

Cargando...