Configuración de OAuth correcta (el escritorio funciona)
Cookies/caché borradas en los dispositivos
No se usan navegadores dentro de la aplicación, se probaron navegadores reales
No importa qué navegador móvil → siempre se detecta CSRF
Pregunta:
¿Qué puede estar causando en Discourse que los inicios de sesión sociales solo en dispositivos móviles pierdan la sesión/cookies y fallen con csrf_detected?
He encontrado la solución al problema por el cual los inicios de sesión sociales (Google, Discord, etc.) fallan con csrf_detected en dispositivos móviles, aunque funcionan en PC.
La causa estaba en mi tema (Theme):
Un script de JavaScript personalizado en la sección <head> del tema estaba recargando constantemente la página en dispositivos móviles (window.location.replace).
Esta redirección forzada destruía el token CSRF temporal necesario para la validación de la sesión después de la devolución de llamada de Google/Discord.
Solución:
Eliminé el script completo para forzar la vista móvil del tema.
Si tienen problemas similares y utilizan un tema personalizado, comprueben si hay scripts ejecutándose que provoquen redirecciones. ¡Ese fue el culpable en mi caso!