¿Es posible incrustar Discourse en una comunidad de Salesforce (sitio de Experience Cloud) usando un iframe? Si es así, ¿cómo?

Estoy utilizando la Prueba Empresarial y siguiendo este artículo. LWC se utiliza como contenedor para Discourse. Dado que LWC no permite agregar las etiquetas y al marcado HTML, descargué la biblioteca de JavaScript de myDiscourseAcc.discourse.group/javascripts/embed.js, la guardé en mi organización de Salesforce como un recurso estático y la cargué en LWC.

El iframe se muestra, pero siempre aparece la página de inicio de sesión y el botón “Iniciar sesión para responder”. Sin embargo, necesito mostrar el foro y todas sus funciones; no puedo hacerlo.

  1. En LWC, especifiqué discourseUrl, discourseEmbedUrl y fullApp (configurado en true) para window.DiscourseEmbed.
  2. El sitio de la comunidad de SF se ha agregado en Administración → Incrustación → hosts. El modo de aplicación completa está habilitado.
  3. Discourse Connect funciona correctamente y también están configurados los ajustes necesarios para ello. Llegué a esta conclusión porque puedo acceder a Discourse a través de SF-community y puedo iniciar sesión automáticamente en Discourse usando mi usuario de comunidad cuando me identifico.
  4. En la organización de Salesforce, Discourse se ha agregado a las URLs de confianza.
  5. Al iniciar sesión en la comunidad, no ocurren errores, ni en los registros de SF-community ni en los de Discourse.
  6. Al cargar la comunidad, puedo configurar una redirección a Discourse y volver para obtener SSO y SIG a través de la URL.
  7. Cuando hago clic en un botón personalizado o en el botón “Iniciar sesión para responder” (dentro del iframe de Discourse mostrado), puedo abrir Discourse en una ventana separada o en una pestaña separada.
  8. La Comunidad de Salesforce y mi instancia de Discourse están en dominios diferentes.

Sin embargo, a pesar de esto, la página de inicio de sesión sigue abierta dentro del iframe incrustado. No estoy seguro, pero el problema podría estar relacionado con las cookies.

Tus opciones son:

  1. Mover Discourse y el sitio de Salesforce para que compartan el mismo dominio base, como forum.tusitio.com y crm.tusitio.com.

  2. Cambiar same_site_cookies de Lax a None. Esto implica Usar Configuración de Sitio Oculta