Tenemos un problema para mantener al usuario conectado.
Conectamos Discourse a nuestra aplicación con SSO.
Inicio de sesión exitoso y redirección a Discourse.
Hacer clic en algún tablero.
Ventana emergente “has sido desconectado”.
Nuestras suposiciones son las siguientes:
El valor de _forum_session en el almacenamiento de sesión cambia cuando hacemos clic en el tablero.
Por lo tanto, la clave de sesión anterior y la nueva clave de sesión generada no coinciden a veces.
¿Cómo gestionar el valor de forum_session? o ¿Cómo controlar la secuencia de generación de _forum_session?
versión: 3.5.0.beta1
tipo de despliegue: autohospedado
tipo de inicio de sesión: Discourse SSO Connect
Hola a todos,
Actualmente estoy ejecutando una instancia de Discourse autohospedada dentro de nuestra infraestructura.
Todo funciona bien hasta el punto de iniciar sesión a través del método Discourse SSO Connect (utilizamos nuestro propio servidor de cuentas personalizado para la autenticación).
Sin embargo, nos encontramos con un problema en el que, durante una operación de búsqueda, aparece aleatoriamente una ventana emergente “Has cerrado sesión”.
Esto solo ocurre en el entorno de producción, no en desarrollo o staging.
No hemos modificado ningún código fuente abierto de Discourse.
Nuestra suposición es que la cookie _forum_session debería actualizarse con cada llamada a la API, pero por alguna razón, esta actualización falla en producción. Como resultado, la cookie de sesión actual se vuelve inválida y provoca un cierre de sesión.
Si alguien ha experimentado un problema similar o tiene información sobre lo que está sucediendo, agradecería mucho su ayuda.
Me gustaría entender en qué casos la actualización de forum_session podría fallar. Por lo que puedo ver, se actualiza cada vez que entro a una página a través del encabezado Set-Cookie en la respuesta. No hemos cambiado ninguna lógica relacionada, así que no estoy seguro de por qué ocasionalmente no se actualiza.
No es necesario abrir un nuevo tema si ya existe uno (presumo que es incluso sobre el mismo sitio).
No has actualizado en más de 4.5 meses; por favor, empieza actualizando tu sitio a la última versión con pruebas superadas (3.5.0.beta8-dev) y comprueba si eso resuelve el problema.
Es un poco extraño: estamos ejecutando tres entornos con la misma versión (3.5.0.beta1), pero este problema solo ocurre en el entorno de producción. Los otros dos entornos (desarrollo y staging) funcionan bien, así que no creo que sea un problema relacionado con la versión.
Me pregunto, ¿es esta la primera vez que se informa de este problema? ¿Ha habido informes similares en el pasado?
Y para descartar eso, deberías actualizar primero.
Además, beta1 contiene varias vulnerabilidades de seguridad, ¡así que de todos modos querrás hacer esto!