Así que estoy experimentando un desafío con la lógica de cierre de sesión.
Estamos utilizando la configuración de auth0 con Discourse oauth2 y el problema es que cuando activamos el cierre de sesión usando currentUser.destroySession(), la sesión de Discourse se termina ya que el usuario cierra sesión, pero ¿los datos de oauth todavía se almacenan en caché de alguna manera?
¿A qué me refiero aquí?
Contexto: cuando usas SSO, esperarías que cuando el usuario cierra sesión en tu sitio, la próxima vez que intente iniciar sesión nuevamente, será dirigido desde tu sitio a la página de SSO donde podrá ingresar sus credenciales y una vez autenticado, el usuario será redirigido de regreso a tu sitio con una sesión activa.
Entonces, usando este contexto anterior, Discourse no parece cerrar completamente la sesión del usuario, por lo que cada vez que cierro sesión en Discourse, funciona bien, pero cada vez que intento volver a iniciar sesión en mi sitio del foro, Discourse no activa la página de SSO nuevamente, de alguna manera todavía recuerda la cuenta de SSO previamente iniciada, por lo que automáticamente selecciona e inicia sesión al usuario, lo cual es muy extraño.
Y esto básicamente significaría que estoy atascado con ese usuario, no puedo cambiar a una cuenta de usuario diferente, a menos que tal vez use incógnito o un navegador completamente diferente ![]()
Expectativa: Una vez que hago clic en cerrar sesión, la próxima vez que intente iniciar sesión nuevamente, debería ser llevado a mi página de SSO de auth0 donde puedo hacer lo necesario y luego seré redirigido de regreso al foro de Discourse.
¿Parece ser un problema con currentUser.destroySession() en cómo borra la sesión más los datos de oauth?
También he probado haciendo manualmente una llamada a la API para destruir la sesión del usuario, todavía los mismos resultados, sin mejoras:
fetch(`https://MY_FORUM.discourse.group/admin/users/USER_ID/log_out`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Api-Key': 'API_KEY',
'Api-Username': 'ADMIN_USERNAME',
},
})
Por favor, comparte tus ideas sobre esto si tienes alguna idea sobre cómo solucionar/abordar el cierre de sesión al usar oauth.