Introducción al Error 'Invalid Form Key' en Magento 2
Uno de los problemas más frustrantes que enfrentan los administradores y usuarios de tiendas e-commerce desarrolladas en Magento 2 es el famoso error Invalid Form Key. Please refresh the page. Este fallo interrumpe acciones críticas como iniciar sesión en el panel de administración, guardar configuraciones o agregar productos al carrito, bloqueando por completo la experiencia de usuario y la gestión del sitio.
¿Cuáles son las Causas Principales de este Error?
El sistema de claves de formulario (Form Key) en Magento 2 actúa como una medida de seguridad robusta contra ataques CSRF (Cross-Site Request Forgery). Cuando este mecanismo falla, generalmente se debe a:
- Problemas de configuración en las URLs base (Base URLs) del sitio web.
- Incompatibilidades o bloqueos en las cookies del navegador debido a restricciones de dominio o HTTPS.
- Caché obsoleta de Magento o archivos generados previamente que causan conflictos.
- Límites insuficientes de variables en PHP, específicamente
max_input_vars.
Método 1: Verificar y Corregir las Base URLs en la Base de Datos
A menudo, el error ocurre porque la URL configurada en Magento no coincide con la URL desde la cual el usuario intenta acceder (por ejemplo, con o sin 'www', o http en lugar de https).
- Accede a tu gestor de base de datos (como phpMyAdmin).
- Abre la tabla
core_config_data. - Busca los registros correspondientes a
web/unsecure/base_urlyweb/secure/base_url. - Asegúrate de que ambas URLs coincidan exactamente con la dirección actual de tu tienda y terminen con una barra inclinada (/).
Método 2: Limpiar y Refrescar la Caché de Magento
Una acumulación de datos temporales corruptos puede generar discrepancias en la validación de las claves de formulario.
- Abre tu terminal SSH y conéctate al servidor de tu tienda.
- Navega hasta la raíz de tu instalación de Magento 2.
- Ejecuta el comando para limpiar la caché:
php bin/magento cache:clean - Ejecuta el comando para limpiar el almacenamiento de caché:
php bin/magento cache:flush
Método 3: Ajustar la Configuración de Cookies y PHP Max Input Vars
Si el problema persiste, es recomendable revisar los parámetros del servidor y las cookies.
- Accede al archivo de configuración de PHP (
php.ini). - Busca la directiva
max_input_varsy asegúrate de que su valor sea al menos de10000o superior. - Guarda los cambios y reinicia tu servicio web (Apache o Nginx).
- En el panel de administración de Magento, ve a Stores > Configuration > General > Web > Session Cookie Management y verifica que el dominio de la cookie sea correcto.