Configurar DiscourseConnect - Inicio de sesión único oficial para Discourse (sso)

Parece que lo que estás haciendo es usar Discourse como el proveedor SSO para WordPress. Ese enfoque se describe aquí: Usar Discourse como proveedor de identidad (SSO, DiscourseConnect). El plugin de Discourse para WordPress tiene opciones para usar WordPress como proveedor SSO para Discourse, o para usar Discourse como proveedor de identidad para WordPress. Usar el mismo nombre para ambos enfoques genera cierta confusión.

Me inclinaría a usar WordPress como el proveedor de identidad para este caso. Con ese enfoque, los usuarios crearán cuentas en tu sitio de WordPress y luego iniciarán sesión en Discourse con sus credenciales de WordPress. Una cosa a tener en cuenta con este enfoque es que significa que los usuarios solo podrán iniciar sesión en Discourse a través de WordPress, no será posible crear una cuenta de Discourse sin tener ya una cuenta de WordPress. Creo que esa es la configuración apropiada al integrar Discourse con un sitio de membresía de WordPress.

Cuando WordPress se utiliza como proveedor de identidad para Discourse, hay un par de funciones de utilidad que son útiles para establecer las membresías de grupo de Discourse de un usuario basándose en su actividad en WordPress. Esas funciones se describen aquí: Gestionar membresías de grupo en Discourse con WP Discourse SSO.

Volviendo a tu pregunta original:

Ha pasado un tiempo desde que miré el código del cliente DiscourseConnect del plugin de WordPress, pero creo que lo que estás pidiendo es más o menos la forma en que se espera que funcione ese código. Si un usuario tiene una cuenta de Discourse, solo necesita hacer clic en el enlace “Iniciar sesión a través de Discourse” en WordPress y se creará una cuenta para él.

Esto sería técnicamente posible al usar WordPress como Cliente de DiscourseConnect, pero a menos que algo haya cambiado, no podrás usar los métodos add_user_to_discourse_group y remove_user_from_discourse_group que se describen en la documentación que enlacé. Necesitarías hacer algo como configurar un Webhook de Discourse que se activara cuando un usuario se agregara a un grupo de Discourse, luego agregar algo de código en WordPress para procesar ese webhook. Para sincronizar grupos de WordPress a Discourse, necesitarías hacer una llamada a la API de Discourse para actualizar los grupos de un usuario cuando hubiera un cambio en WordPress. Por lo tanto, algo que sería bastante fácil de lograr si usas WordPress como proveedor de DiscourseConnect podría ser algo complicado si usas WordPress como cliente de DiscourseConnect.

1 me gusta