Cuando intentas enviar un formulario en Mastodon, como publicar un estado, cambiar la configuración de la cuenta o iniciar sesión, puedes ver un error de CSRF Token Mismatch. Este error significa que el token de seguridad que verifica tu solicitud falta o no coincide con lo que el servidor espera. La causa suele ser una sesión de navegador obsoleta, un proxy inverso mal configurado o un token de autenticación caducado. Este artículo explica por qué ocurre el error y proporciona pasos claros para resolverlo.
CSRF significa Cross-Site Request Forgery (falsificación de solicitudes entre sitios). Mastodon protege tu cuenta incrustando un token único en cada formulario. Si ese token no es válido, el servidor rechaza el envío. Verás el error en casi cualquier envío de formulario, desde publicar un toot hasta actualizar tu perfil.
Sigue los pasos a continuación para solucionar el problema por tu cuenta. En la mayoría de los casos, puedes resolverlo sin contactar al administrador de tu instancia.
Conclusiones clave: Cómo solucionar el error de CSRF Token Mismatch en Mastodon
- Limpiar cookies y caché del navegador: Elimina datos de sesión obsoletos que causan discrepancias de token.
- Cerrar sesión y volver a iniciarla: Actualiza el token CSRF almacenado en tu sesión.
- Desactivar extensiones problemáticas del navegador: Las extensiones que bloquean scripts o modifican encabezados pueden eliminar el token CSRF de los formularios.
Por qué Mastodon muestra un error de CSRF Token Mismatch
Mastodon utiliza un token CSRF para verificar que cada envío de formulario provenga de ti y no de un tercero malicioso. El token se genera cuando cargas una página y está vinculado a tu sesión. Cuando envías el formulario, Mastodon compara el token en la solicitud con el almacenado en tu sesión. Si no coinciden, el servidor devuelve el error CSRF Token Mismatch.
Las causas comunes incluyen:
- Tu sesión de navegador caducó o el token se rotó mientras completabas un formulario.
- Tu navegador almacenó en caché una página antigua con un token obsoleto.
- Un proxy inverso o capa de caché (como Nginx o Cloudflare) está almacenando páginas en caché y sirviendo tokens caducados.
- Una extensión del navegador está bloqueando o modificando el campo del token.
- Tu instancia de Mastodon tiene una clave secreta base mal configurada.
El error puede aparecer en cualquier formulario: inicio de sesión, registro, publicación, edición de perfil o cambio de configuración. No es específico de una acción.
Pasos para solucionar el error de CSRF Token Mismatch
Prueba los siguientes métodos en orden. Comienza con las soluciones más simples que no requieren acceso de administrador.
Método 1: Actualizar la página y volver a enviar
A veces el token caduca mientras escribes. Actualizar la página carga un token nuevo.
- Presiona F5 o Ctrl+R
Esto recarga la página actual. Mastodon genera un nuevo token CSRF cuando la página se carga. - Completa el formulario nuevamente y envíalo
No uses el botón de retroceso del navegador. Usa la página actualizada.
Método 2: Cerrar sesión y volver a iniciarla
Cerrar sesión limpia tu sesión e invalida el token anterior. Iniciar sesión crea una sesión nueva con un token nuevo.
- Ve a Preferencias > Cuenta
Haz clic en el menú de hamburguesa (tres líneas horizontales) en la parte superior izquierda y selecciona Preferencias. En la página de Preferencias, haz clic en Cuenta en la barra lateral izquierda. - Haz clic en Cerrar sesión en la parte inferior de la página de Cuenta
Serás redirigido a la página de inicio de sesión de Mastodon. - Ingresa tu correo electrónico y contraseña y haz clic en Iniciar sesión
Mastodon crea una nueva sesión con un token CSRF válido. - Navega al formulario que estabas usando y envíalo nuevamente
El error ya no debería aparecer.
Método 3: Limpiar cookies y caché del navegador
Las cookies obsoletas o las páginas en caché pueden almacenar un token antiguo. Limpiarlas obliga al navegador a obtener una página nueva y un token nuevo.
- Abre la configuración de tu navegador
En Chrome, haz clic en el menú de tres puntos y selecciona Configuración. En Firefox, haz clic en el menú de hamburguesa y selecciona Configuración. En Edge, haz clic en el menú de tres puntos y selecciona Configuración. - Ve a Privacidad y seguridad
En Chrome, haz clic en Privacidad y seguridad en la barra lateral izquierda. En Firefox, haz clic en Privacidad y seguridad. En Edge, haz clic en Privacidad, búsqueda y servicios. - Limpiar datos de navegación
En Chrome, haz clic en Borrar datos de navegación. Selecciona Cookies y otros datos del sitio e Imágenes y archivos en caché. Establece el rango de tiempo en Todo el período. Haz clic en Borrar datos. En Firefox, haz clic en Limpiar datos, marca Cookies y datos del sitio y Contenido web en caché, luego haz clic en Limpiar. En Edge, haz clic en Elegir qué borrar, selecciona Cookies y otros datos del sitio e Imágenes y archivos en caché, luego haz clic en Borrar ahora. - Reinicia tu navegador e inicia sesión en Mastodon nuevamente
El error de CSRF Token Mismatch debería resolverse.
Método 4: Desactivar temporalmente las extensiones del navegador
Las extensiones que bloquean scripts, modifican encabezados o administran cookies pueden eliminar el token CSRF de los formularios. Prueba con todas las extensiones desactivadas.
- Abre el administrador de extensiones de tu navegador
En Chrome, escribechrome://extensionsen la barra de direcciones. En Firefox, escribeabout:addons. En Edge, escribeedge://extensions. - Desactiva todas las extensiones
Alterna cada extensión para desactivarla. No las desinstales. - Reinicia tu navegador e intenta enviar el formulario nuevamente
Si el error desaparece, reactiva las extensiones una por una para identificar la culpable. Mantén la extensión problemática desactivada o ajusta su configuración para permitir Mastodon.
Método 5: Usar una ventana privada o de incógnito
Una ventana privada comienza con una sesión limpia y sin datos en caché. Esto aísla el problema de tu perfil de navegación normal.
- Abre una ventana privada
En Chrome, presiona Ctrl+Shift+N. En Firefox, presiona Ctrl+Shift+P. En Edge, presiona Ctrl+Shift+N. - Ve a tu instancia de Mastodon e inicia sesión
Usa tu correo electrónico y contraseña. - Envía el formulario que anteriormente mostraba el error
Si funciona en modo privado, el problema está relacionado con la caché, las cookies o las extensiones de tu perfil de navegación normal.
Método 6: Verifica la configuración de tu proxy inverso (solo administrador de la instancia)
Si ejecutas tu propia instancia de Mastodon, un proxy inverso mal configurado (Nginx, Apache o Cloudflare) puede almacenar en caché páginas y servir tokens CSRF obsoletos. Asegúrate de que las páginas dinámicas no se almacenen en caché.
- Edita tu archivo de configuración de Nginx
Localiza el bloque del servidor para tu dominio de Mastodon. Agrega o modifica las siguientes líneas para deshabilitar el almacenamiento en caché de contenido dinámico:proxy_no_cache 1;proxy_cache_bypass 1; - Recarga Nginx
Ejecutasudo systemctl reload nginxosudo nginx -s reload. - Prueba el envío del formulario nuevamente
Limpia la caché de tu navegador antes de probar.
Si Mastodon aún muestra el error de CSRF Token Mismatch
El error persiste en todos los navegadores y dispositivos
Si el error ocurre en varios navegadores y dispositivos, es probable que el problema esté en el lado del servidor. Contacta al administrador de tu instancia. El administrador debe revisar los registros de Mastodon para detectar errores relacionados con CSRF y verificar que la variable de entorno SECRET_KEY_BASE esté configurada correctamente. Si la clave secreta base se cambió recientemente, todas las sesiones existentes se vuelven inválidas. El administrador puede regenerar la clave y reiniciar los servicios de Mastodon.
El error solo aparece en el formulario de inicio de sesión o registro
Un proxy inverso o CDN puede estar almacenando en caché la página de inicio de sesión. El administrador debe asegurarse de que la página de inicio de sesión no se almacene en caché. En Nginx, agrega add_header Cache-Control "no-store"; al bloque de ubicación para la página de inicio de sesión.
El error aparece después de usar el botón de retroceso del navegador
El botón de retroceso carga una página en caché con un token antiguo. No uses el botón de retroceso para volver a un formulario. En su lugar, actualiza la página o navega al formulario nuevamente usando la interfaz de Mastodon.
CSRF Token Mismatch en Mastodon vs otros errores de autenticación
| Elemento | CSRF Token Mismatch | Sesión caducada |
|---|---|---|
| Mensaje de error | CSRF Token Mismatch | Tu sesión ha caducado. Por favor, inicia sesión nuevamente |
| Cuándo aparece | Al enviar un formulario | Al cargar una página o enviar un formulario |
| Causa raíz | Token faltante o no coincide | La cookie de sesión caducó o se eliminó |
| Solución | Actualizar página, limpiar caché o cerrar sesión y volver a iniciar | Iniciar sesión nuevamente |
| Causa en el servidor | Proxy inverso mal configurado o clave secreta base cambiada | Tiempo de espera de sesión demasiado bajo |
Ahora sabes cómo solucionar el error de CSRF Token Mismatch en Mastodon. Comienza actualizando la página o cerrando sesión y volviendo a iniciarla. Si el error persiste, limpia la caché de tu navegador y desactiva las extensiones. Para problemas en el servidor, verifica la configuración del proxy inverso y la clave secreta base. Como consejo avanzado, los administradores de instancias pueden configurar la variable de entorno RAILS_MAX_REQUESTS para controlar cuántas solicitudes maneja un proceso antes de reiniciarse, lo que puede prevenir la obsolescencia del token en instancias de alto tráfico.