@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.
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.
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.
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.
Voici la méthode que j’ai trouvée pour ajouter automatiquement les utilisateurs SSO à un groupe basé sur une liste d’adresses e-mail :
Envoyez un message privé en collant les adresses e-mail dans le champ des destinataires (pris en charge depuis août 2017) afin de créer des utilisateurs « préparés ». (Supprimez le message privé dans email_time_window_minutes si vous ne souhaitez pas réellement envoyer quoi que ce soit aux utilisateurs)
Ajoutez les utilisateurs préparés au groupe, soit :
Un par un, sur la page d’administration de chaque utilisateur
Utilisez « Ajouter en masse au groupe » sur la page du groupe, et collez la même liste d’adresses e-mail
C’est vraiment utile pour importer des listes de diffusion sur un forum lorsque le SSO est activé.
(Désolé pour la résurrection de ce fil – il semble que la question soit toujours ouverte deux ans plus tard, je n’ai trouvé ce conseil nulle part ailleurs)
Il serait tout de même souhaitable que la fonctionnalité normale d’invitation d’utilisateurs fonctionne avec le SSO, afin que cela puisse être fait en une seule étape (et que les modérateurs puissent le faire ; actuellement, il semble que seuls les administrateurs puissent effectuer l’étape 2).
@RyanK / @tobiaseigen Je suis quasiment certain que cela peut être fermé, les invitations devraient maintenant être super compatibles avec le SSO, nous avons fait d’énormes progrès au cours des 2 dernières années et devrions être en mesure de gérer votre cas d’utilisation nativement.
Oui, je pense que nous pouvons clore. Il est en effet tout à fait possible d’inviter des personnes qui se connectent ensuite via SSO ou toute autre méthode de connexion fournie par le site. Selon la configuration de l’invitation, l’utilisateur invité peut être ajouté à des groupes et placé dans un sujet spécifique dès sa connexion. C’est plutôt génial !
La plupart des discussions ici portent en fait sur le support SSO pour l’ajout et la suppression d’un utilisateur dans des groupes, que je connais moins bien et pour lequel je ne vois pas beaucoup de documentation ici sur meta. Quelqu’un de plus familier pourrait rédiger une FAQ à ce sujet pour rassembler ce qui est connu. Cela permet d’ajouter ou de supprimer des utilisateurs des groupes lors de leur connexion via SSO, ce qui n’a en fait rien à voir avec le système d’invitation.
Il y a cependant des mises en garde, donc ce n’est peut-être pas la peine d’encourager les gens à mettre en œuvre cette méthode. Les groupes Discourse doivent déjà exister pour que cela fonctionne, et cela nécessite que l’utilisateur se déconnecte et se reconnecte pour que les modifications côté fournisseur d’authentification prennent effet.