Problema con SSO de Discourse forum en iframe

Hola, quiero incrustar el foro dentro de un sitio web mediante un iframe.

El foro iniciará sesión a través de SSO. El incrustamiento funciona correctamente, pero el proceso de SSO no puede establecer la cookie de inicio de sesión porque el atributo ‘samesite lax’ está configurado en el lado de Discourse. ¿Hay alguien que también haya experimentado este problema? ¿O hay alguien que haya logrado incrustar su foro dentro de un sitio web y conectarlo mediante SSO?

Gracias de antemano.

1 me gusta

Solo quería informarte de que Discourse no funciona bien (o ni siquiera funciona) en un iframe. Así que ya te estás buscando problemas :wink:

3 Me gusta

¡Gracias por la respuesta tan rápida! :slight_smile:

image

Vale, bien, he encontrado una configuración en la sección de ajustes de Discourse. Esta permite incrustar el foro en otro sitio mediante un iframe. Esta configuración funciona (si ya has iniciado sesión y tienes la cookie).

Lo único que no funciona es el proceso de SSO. Nuestro proceso de SSO funciona correctamente al abrir el foro en una nueva pestaña. Sin embargo, el iframe interrumpe este proceso porque la cookie con el token de acceso no se puede establecer debido a que se trata de un dominio diferente. Esto provoca un bucle infinito dentro del iframe, ya que Discourse no encuentra la cookie y vuelve a iniciar el proceso de SSO.

Dado que esto es muy importante para nosotros, ¿no hay alguna opción para incrustar el foro en un iframe mientras se utiliza la autenticación SSO?

La configuración es bastante experimental y no está realmente soportada en un entorno de SSO. El redireccionamiento de vuelta tendría que realizar un trabajo complejo para pasar toda la información de vuelta al marco.

Recomiendo encarecidamente que simplemente utilices un encabezado y pie de página personalizados; es muy fácil configurarlos para que se vean como el sitio principal.

3 Me gusta

Gracias por tu respuesta.

Intentaremos optar por un encabezado y pie de página personalizados.
¿Hay algún plan a corto plazo para que el discourseSSO funcione dentro de un iframe? Esta función sería muy útil para quienes desean incluir un foro en su sitio sin tener que implementar todas las API de Discourse.

¿Qué tiene que ver un iframe con las APIs?

Estimado Stephan,

Ya utilizamos el foro con SSO dentro de un WebView en una aplicación. Queremos integrar el foro en un nuevo sitio web que estamos construyendo. Creo que tenemos dos opciones para esto:

Opción 1: implementar varias APIs (por ejemplo, recuperar publicaciones, categorías y publicar en Discourse).

Opción 2: incrustar el foro en nuestro sitio web mediante un iframe en combinación con SSO. (es rentable y podemos ver si el foro tiene éxito antes de invertir más en él).

Por lo tanto, para responder a su pregunta: la opción del iframe no tiene nada que ver con las APIs.

¿Existen planes a corto plazo para que Discourse SSO funcione dentro de un iframe?

1 me gusta

El protocolo SSO redirige a tu sitio, donde realizas la autenticación y luego rediriges de vuelta a nuestro sitio.

Si se configura un IFRAME aquí, la redirección que realices tras autenticar al usuario tendría que ir a tu sitio, el cual tendría que realizar algún tipo de magia para devolver la información al IFRAME.

Esto es técnicamente complejo y muy difícil de implementar correctamente. Por otro lado, la opción de un pie de página y encabezado personalizados es técnicamente mucho más sencilla de implementar, mucho menos propensa a errores y, como ventaja adicional, más rápida, ya que no estás obligado a hacer dos solicitudes separadas para construir una página.

3 Me gusta