Hola, he visto algunas publicaciones antiguas sobre esto pero nada actual. También hice esta pregunta en el foro de Memberstack…
Estoy trabajando en un proyecto para construir una nueva comunidad privada/cerrada y me interesa usar Memberstack + Webflow y SSO para Discourse como plataforma comunitaria. Tengo la impresión de que esto ahora es compatible con la integración SSO personalizada. Específicamente, necesito asegurarme de que los usuarios puedan autenticarse en las páginas de Webflow y luego navegar sin problemas al sitio de la comunidad de Discourse. He visto comentarios que sugieren que es posible y he visto la documentación SSO de Memberstack, pero busco información más específica relacionada con la integración de Discourse. ¿Alguien está utilizando una configuración como esta utilizando Memberstack para gestionar el SSO para Discourse? Necesito probarlo lo antes posible. Gracias.
¡Sí, ahora es compatible! Memberstack ahora te permite usar Memberstack como un proveedor OpenID Connect: https://docs.memberstack.com/hc/en-us/articles/8161104982043-Custom-SSO-Integrations. Esto permitirá a los usuarios iniciar sesión en tu sitio de Discourse a través de Memberstack. Si configuras tu sitio de Discourse de manera que OpenID Connect sea la única opción de inicio de sesión disponible en el sitio, iniciar sesión en Discourse desde tus páginas de Webflow será un proceso fluido para tus usuarios. (Nota: no elimines la opción de iniciar sesión en tu sitio de Discourse con nombre de usuario/contraseña hasta que hayas confirmado que los inicios de sesión de OpenID Connect funcionan).
Para que esto funcione, necesitarás tener el plugin Discourse OpenID Connect instalado en tu sitio de Discourse. Los detalles sobre la configuración de ese plugin están aquí: Discourse OpenID Connect (OIDC).
Recomiendo ver el video en la documentación de Memberstack que enlacé antes de intentar configurar los inicios de sesión de OpenID Connect para tu sitio de Discourse. Te guía a través del proceso de configuración de los inicios de sesión de Memberstack OpenID Connect para que funcionen con el sitio de prueba en https://openidconnect.net/. Después de eso, configurar la autenticación OpenID Connect para Discourse debería ser un proceso sencillo.
Si hay algún sitio de Discourse existente que haya configurado la autenticación OpenID Connect con Memberstack, sería genial saber de ellos.
@simon ¡Muchas gracias por tu aporte y por confirmar que esto debería funcionar! Esperaba obtener este tipo de validación antes de avanzar demasiado con Webflow. Estoy utilizando esto para ejecutar un programa piloto y quiero probar Memberstack + Webflow + Discourse durante el piloto. Así que esto es solo para probar el MVP y es muy posible que a largo plazo me mude a algo muy diferente (¡excepto Discourse… definitivamente me quedaré con eso!).
Dado que este soporte OpenID de Memberstack es bastante nuevo, me encantaría saber si hay alguien aquí que esté utilizando este tipo de configuración en producción.
¡Hola! ¿Pudiste implementar una solución funcional para esto? ¡OpenID requiere una cuenta de empresa en Discourse, que cuesta $300/mes! ¡Esperaba usar DiscourseConnect SSO para lograr lo que mencionaste con Webflow y Memberstack!
¡Hola a todos! ¡Pude hacer que el SSO para Discourse funcionara a través de mi inicio de sesión de Memberstack! Una vez que inicio sesión a través de OpenID en mi foro de Discourse, aparece una ventana emergente para “crear mi cuenta” en el foro. ¿Es esto lo que se supone que debe suceder o debería iniciarme sesión directamente? He incluido una captura de pantalla de la ventana emergente que obtengo una vez que inicio sesión con mi información de Memberstack. ¡Gracias de antemano!
Por tu captura de pantalla, no parece que tu dirección de correo electrónico se esté completando en el formulario de inicio de sesión. Ha pasado un tiempo desde que vi el video de Memberstack (https://docs.memberstack.com/hc/en-us/articles/8161104982043-Custom-SSO-Integrations), pero creo que la configuración del sitio de Discourse openid_connect_authorize_scope necesita establecerse en openid email profile para que tanto la dirección de correo electrónico como el nombre de usuario se incluyan en la carga útil que se envía a Discourse.
No tengo las cosas configuradas para probar esto ahora mismo, pero podrías necesitar habilitar estas configuraciones para omitir la ventana emergente de creación de cuenta (de lo contrario, los campos aún se completarán, pero los usuarios tendrán que hacer clic en el botón “Crear tu cuenta”):
auth skip create confirm (definitivamente necesita estar habilitado para omitir la ventana emergente de creación de cuenta)
auth overrides email
auth overrides username
auth overrides name
La forma más fácil de probar esto es si tienes una cuenta no de administrador en tu sitio de Webflow. De esa manera, puedes intentar iniciar sesión como ese usuario varias veces y simplemente eliminar su cuenta en Discourse si no funciona como se esperaba.
¡Muchas gracias, Simon! ¡Agregar esos elementos adicionales en “openid_connect_authorize_scope” lo solucionó y habilitar “auth skip create confirm” omite la ventana emergente y va directamente a la página de inicio del foro! Habilité “openid connect overrides email” - ¿qué hace esto?
¿Y hay alguna forma de configurar el botón “Registrarse” en Discourse para que navegue a una página de registro personalizada que tengo en mi sitio web? Actualmente, al hacer clic en “Registrarse”, me conecto a través de OpenID, pero me gustaría que enlazara a una página específica de mi sitio web.
Correcto, para OpenID Connect, la configuración se llama openid connect overrides email, no auth overrides email. Cuando está habilitada, cada vez que un usuario inicia sesión en Discourse a través de OpenID Connect, su correo electrónico de Discourse se establecerá en el valor de la dirección de correo electrónico que utiliza en el sitio del proveedor de autenticación OpenID Connect. Eso significa que si un usuario ha cambiado su dirección de correo electrónico en Discourse, se restablecerá automáticamente al valor de la dirección de correo electrónico que utiliza en Memberstack.
De hecho, puedes deshabilitar la configuración del sitio email editable para evitar cualquier problema con los correos electrónicos que se desincronicen con el proveedor de autenticación. Por lo tanto, si deshabilitas email editable y habilitas openid connect overrides email, los usuarios solo podrán cambiar su dirección de correo electrónico cambiándola en Memberstack y luego iniciando sesión en Discourse a través de Memberstack.
No lo creo. Después de que alguien haga clic en el botón “Registrarse” en Discourse, Discourse lo redirigirá al authorization_endpoint que proporciona Memberstack. Es posible que Memberstack permita que esto sea configurable, pero tendrías que contactarlos para averiguarlo.
Otro enfoque posible es que podría ser posible agregar un enlace a la página personalizada en la cabecera de Discourse. Quizás con este componente temático: Custom Header Links. Idealmente, podrías ocultar el enlace de los usuarios que han iniciado sesión con algo de CSS.
¡Gracias Simon! Habilité las anulaciones de openid para el correo electrónico y deshabilité la edición del correo electrónico, ¡aprecio que me hayas guiado a través de eso!
Esa es una buena idea con respecto al botón de registro, ¡investigaré cómo hacerlo!
@ryanshah112 Pude hacer que esto funcionara como una prueba de concepto (con mucha ayuda de @simon), pero decidí no usar la configuración de MS y ahora he pausado el proyecto por unos meses. Necesito volver a ponerlo en marcha. Descubrí que la integración de MS openID no funcionaba muy bien. Por un lado, está el problema del doble inicio de sesión que hizo que el flujo de incorporación no fuera ideal: no solo pide la autorización de la aplicación, sino que hace que el usuario inicie sesión. Quería configurar un flujo de incorporación personalizado donde el usuario iniciara sesión en el sitio de webflow y pudiera navegar a Discourse de manera fluida. Logré que esto funcionara usando formularios, zapier y airtable al crear un usuario de Discourse a través de la API. Fue bastante bueno como prueba de concepto, pero no es algo que quisiera usar como sistema de producción. Cuando empiece de nuevo, probablemente no dependeré de MS como IDP, sino que lo construiré usando algo como Wized con Supabase o algo similar. Creo que la integración de MS + Discourse funcionaría bien si estás de acuerdo con algunas de las limitaciones.
¿Puede decirme cuál será la URL de conexión de discurso? Hay un punto final de token de autorización, un punto final de token y un punto final de claves de token.
Para configurar OpenID Connect en el lado de Discourse, puedes encontrar la información relevante aquí: Discourse OpenID Connect (OIDC). Un detalle específico de Memberstack que no se menciona en ese tema es que creo que la configuración del sitio de Discourse openid_connect_authorize_scope debe establecerse en:
openid email profile
(Suponiendo que sea correcto, debería agregarse a la sección “Notas específicas del proveedor” en la parte inferior del tema de Discourse OpenID Connect).
Esta es una causa de confusión interminable aquí, pero DiscourseConnect se refiere a un protocolo de autenticación completamente separado. La información que necesitas está en el tema de Discourse OpenID connect que enlacé.
Casi estoy seguro de que no es posible usar DiscourseConnect con Memberstack. Para que funcione, necesitarías poder agregar algo de código del lado del servidor a tu sitio de Memberstack. No creo que eso se pueda hacer.
Valdría la pena preguntar a Memberstack al respecto. Podrían implementar DiscourseConnect para todos sus sitios de manera similar a lo que ha hecho Memberful: Integrate Discourse with Memberful - Memberful. Estoy disponible para trabajos de consultoría si quisieran ayuda con eso
¡Hola River! Estoy de acuerdo con Simon en que no es posible usar DiscourseConnect y en su lugar necesitarás usar OpenID. Si necesitas ayuda para configurar Memberstack x Discourse a través de OpenID, estaré encantado de ayudarte, ¡ya que logré que esto funcionara con la ayuda de Simon! Necesitarás el plan “Business” si utilizas el hosting de Discourse.
@ryanshah112 y @river - Para su información - cuando comencé este hilo, tenía el requisito estricto de usar Webflow. Memberstack era realmente la única opción viable para SSO a través de OpenID y no lo he mirado en quizás 6 meses, por lo que algunas cosas pueden haber mejorado allí. Pero si está dispuesto a considerar Wordpress, hay muchos beneficios con DiscourseConnect.
Ryan: Comencé con el plan Business para probarlo, pero cambié a Self hosted después de un par de meses porque realmente no necesitaba el empaquetado / las funciones de nivel “business” para mi POC, aparte de OpenID. Dependiendo de lo que necesite, podría considerar eso y recomiendo a @pfaffman si necesita ayuda para configurarlo. Súper fácil.