Invitations should be compatible with SSO

@sam What do you think about this idea? Is it something that’s likely to be added?

We just started our community and are rolling out to a number of different audiences in stages. The first audience is general and doesn’t need to be added to any groups, but our next audience will be a specific group that should get special treatment.

Allowing groups to be specified via SSO is fine, my pref would be for 2 keys

groups: [group1,group2,group3]
remove_groups: [remove1]

That should allow you full fidelity here, should be fairly straightforward to add. We can slot it for 1.7

3 Me gusta

Glad to hear this is something you can support.

The only issue I see with having a remove_groups flag is that I will need to know what groups the user is no longer a member of to remove them. What about supporting three keys:

groups: [group1,group2,group3] # ensure user is only in groups1, group2, and group3

or

add_groups: [group4] # ensure user is in group4
remove_groups: [group2] # ensure user is not in group2

This way, my main app can handle all the logic and Discourse will simply be kept in sync.

4 Me gusta

I think the only way that works is the second one, because otherwise the membership of any group you create through the Discourse UI will have its members removed as they re-log.

The remove groups parameter would then be managed_group_list - user.groups (inventing the terminology of a “sso-managed group” for the sake of this post).

We can revisit that design if the managed groups list gets too big.

That’s the desired behavior for me. I don’t want people managing user groups in the discourse admin. I want our main app to have full control of group memberships.

1 me gusta

This is now completed per:

8 Me gusta

Sorry to re-open this, but I’m trying to make sure I understand what was (or wasn’t) done to solve the use cases presented earlier.

I’m also on SSO. With a Discourse hosted site. We want to have a private forum where we can invite people select people, but unfortunately it’s not tied to a parameter we can identify and pass via SSO.

We want to upload a list of email addresses that, if/when a user signs in for the first time they are auto-added to the group. We are using the domain solution for some groups, but that wouldn’t apply in this case.

It looks like this was discussed, but it’s unclear to me which solution was ultimately chosen. I tested with an email address that was registered in our main userbase, but hadn’t logged into our discourse site to initiate the SSO. When we logged in with that ID the account created but he’s not in the group.

1 me gusta

Así es como encontré la manera de agregar usuarios de SSO previamente a un grupo basándome en una lista de direcciones de correo electrónico:

  1. Enviar un mensaje privado, pegando las direcciones de correo electrónico en el campo de destinatarios (compatible desde agosto de 2017) para crear usuarios “provisionales”. (Elimina el mensaje privado dentro de email_time_window_minutes si realmente no quieres enviar nada a los usuarios)
  2. Agrega los usuarios provisionales al grupo, ya sea:
    • Uno por uno, en la página de administración de cada usuario
    • Usa “Agregar en masa al grupo” en la página del grupo y pega la misma lista de direcciones de correo electrónico

Esto es realmente útil para importar listas de correo a un foro cuando el SSO está habilitado.

(Perdón por revivir este hilo antiguo :woman_mage::skull: – parece que la pregunta sigue sin respuesta 2 años después, no pude encontrar este consejo en ningún otro lugar)

Aún sería agradable que la función normal de invitar usuarios funcionara con SSO, para que esto se pudiera hacer en un solo paso (y para que los moderadores puedan hacerlo; actualmente parece que solo los administradores pueden realizar el paso 2).

3 Me gusta

@RyanK / @tobiaseigen Estoy bastante seguro de que esto se puede cerrar, las invitaciones ahora deberían ser súper compatibles con SSO, hemos progresado mucho en los últimos 2 años y deberíamos poder manejar su caso de uso de forma nativa.

2 Me gusta

Sí, creo que podemos cerrar. De hecho, es muy posible invitar a personas que luego inician sesión a través de SSO o cualquier método de inicio de sesión que ofrezca el sitio. Dependiendo de cómo se configure la invitación, el usuario invitado puede agregarse a grupos y colocarse en un tema específico al iniciar sesión. ¡Muy bueno! :ice_cream:

La mayor parte de la discusión aquí trata en realidad sobre soporte SSO para agregar y eliminar un usuario a grupos, con lo cual estoy menos familiarizado y no veo mucha documentación al respecto aquí en meta. Alguien más familiarizado podría escribir una sección de preguntas frecuentes para recopilar lo que se sabe al respecto. Permite que los usuarios se agreguen o eliminen de grupos al iniciar sesión a través de SSO, lo que en realidad no tiene nada que ver con el sistema de invitación.

Este es un buen ejemplo de @simon sobre cómo hacerlo usando WordPress: Automatically Adding New Users (from WP integration) To A Group - #4 by simon

Sin embargo, hay advertencias, por lo que tal vez no valga la pena animar a las personas a implementar este método. Los grupos de Discourse deben existir ya para que esto funcione, y requiere que el usuario cierre sesión y vuelva a iniciarla para que cualquier cambio en el extremo del proveedor de autenticación tenga efecto.

2 Me gusta