Grupos SSO sin anular completamente

¿Hay alguna forma de usar grupos mediante SSO sin sobrescribir todos los grupos existentes?
Por ejemplo, quiero pasar dos tipos de grupos de membresía desde mi sitio web externo, digamos group_a y group_b.
Sin embargo, no quiero que los usuarios pierdan su grupo actual de trust_level y, además, algunos usuarios tienen sus propios grupos que les permiten acceder a una categoría privada.

Al leer los mensajes del foro aquí y el manual, parece que seleccionar los grupos de SSO sobrescribirá y eliminará a los usuarios de todos los grupos existentes, a menos que el SSO también pase sus grupos actuales. Eso es un problema, porque significa que tendré que actualizar manualmente el grupo actual de cada usuario en la base de datos del sitio externo.

¿Me estoy perdiendo algo?
Muchas gracias, gente.

1 me gusta

Los parámetros add y remove hacen exactamente lo que necesitas.

3 Me gusta

¡Gracias! Entonces, ¿usar add_groups NO sobrescribiría ni eliminaría a los usuarios de los grupos actuales? ¿Y aún podría crear y permitir grupos manualmente?

2 Me gusta

Si esto se usa y un usuario es eliminado del grupo en el lado del SSO pero no se añade a remove_groups, ¿seguirá siendo miembro en el sitio de Discourse, verdad?

¿A qué te refieres con “esto”, groups o a add_groups y remove_groups individualmente?

¿Cuáles son los parámetros exactos y el endpoint que estás llamando?

Los individuales. En realidad aún no estoy haciendo nada, solo intentando entender.

Por lo tanto, el SSO generalmente ocurre durante el flujo de inicio de sesión.

Todos los parámetros groups, add_groups y remove_groups son opcionales y se refieren a la pertenencia a grupos.

Esto no tiene nada que ver con tener un usuario válido en el sitio, a menos que configures todas las categorías del sitio para que solo sean legibles por miembros de grupos específicos.

Lo siento, permíteme reformularlo. Digamos que tenemos 1200 grupos en nuestro SSO. Si queremos sincronizar la pertenencia a grupos sin usar sso overrides groups, si alguien es miembro de tres grupos, esos tres grupos deberían listarse en add_groups y los otros 1197 en remove_groups (¿solo por si acaso estaban previamente en alguno de esos 1197 y han sido eliminados)?

En tu caso, y asumiendo que no tienes otros grupos manuales en la instancia de Discourse, deberías activar la configuración del sitio sso overrides groups y pasar los 3 grupos de los que el usuario es actualmente miembro en el parámetro groups del payload de SSO.

Al iniciar sesión, nos aseguraremos de que el usuario sea miembro de esos 3 grupos y no de ningún otro grupo manual.

Ok, eso me lleva a esta pregunta: What happens to trust level and staff groups when using sso overrides groups? :slight_smile: