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 ![]()
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.)