¿Activado el inicio de sesión automático para la comunidad pública?

Tienes toda la razón en que al hacer clic en ‘responder’ se activará el flujo de inicio de sesión. Y si se está utilizando DiscourseConnect (o cualquier otro proveedor de inicio de sesión único), entonces se omitirá la ventana modal de inicio de sesión de Discourse :+1:

Sin embargo, creo que el OP quiere que las personas inicien sesión automáticamente, sin necesidad de hacer clic en ‘responder’ o ‘iniciar sesión’. Con ese tipo de configuración, sería totalmente transparente para los usuarios moverse entre el sitio principal y la comunidad. Hemos logrado esto para un par de clientes, pero han sido implementaciones personalizadas que no se pueden generalizar fácilmente.

Para dar un ejemplo de un enfoque: si tu foro está en forum.example.com y tu sitio principal está en example.com, entonces el foro puede leer las cookies de example.com. Por lo tanto, un componente temático puede verificar la existencia de una cookie y hacer algo como esto:

const cookie = require("discourse/lib/cookie").default;
if(cookie('name_of_example_com_auth_cookie') && !api.getCurrentUser()){
  // El usuario tiene una cookie de autenticación para example.com. Casi con certeza
  // ha iniciado sesión allí, así que ejecutemos el flujo de autenticación
  window.location = "https://forum.example.com/auth/oidc"
}

(se aplican varias condiciones aquí. por ejemplo, la cookie no debe ser http_only, no debe ser una cookie solo de host, etc.)

5 Me gusta