Cómo sincronizar el cierre de sesión con la sesión SSO o del navegador?

Escenario:

El usuario uno inicia un navegador, se conecta al Foro usando SSO, trabaja durante un tiempo y luego cierra el navegador.

El usuario dos inicia un navegador en la misma máquina y vuelve a iniciar sesión en el Foro usando SSO. El proceso lo lleva a través del inicio de sesión completo con sus credenciales, pero cuando entra al foro, está identificado como el usuario uno.

Discourse permite establecer el tiempo de espera de la sesión en un mínimo de una hora. Esto significa que el usuario puede volver a la computadora dentro de una hora e iniciar sesión simplemente para obtener la identidad del usuario anterior a través de las cookies.

Hubo una corrección en 2016 para permitir que las cookies expiraran al cerrar el navegador, pero esta fue revertida.

Esto hace que el software sea muy inseguro en un entorno donde varias personas utilizan la misma estación de trabajo si el navegador no está configurado para funcionar en modo privado.

¿Existe una solución para esto?

Gracias,

Peter

Misma pregunta, misma respuesta:

Puedes revisar el código del commit mencionado anteriormente, que fue revertido, y adaptarlo a un plugin según tus necesidades.

También puedes implementar una integración de cierre de sesión en tu sistema de SSO, de modo que cuando un usuario cierre sesión, se llame a Discourse para finalizar todas las sesiones existentes del mismo usuario.

Y no, esto no se considera una vulnerabilidad de seguridad.

1 me gusta

Es lamentable que el código se haya revertido, ya que tenía un valor considerable en situaciones como esta.

¿Podrías indicarme qué llamadas a Discourse son necesarias para terminar las sesiones?

Gracias, Rafael

Aquí hay una guía práctica sobre eso:

3 Me gusta