Allez dans « IAM et administration » → « Comptes de service » → « Créer un compte de service » et configurez un compte. Les deux étapes facultatives ne sont pas requises - sautez-les.
Dans la liste des comptes de service, cliquez sur le compte nouvellement créé, notez l’« ID unique » pour plus tard, puis allez dans l’onglet « Clés ». Créez une nouvelle clé au format « JSON » et enregistrez le fichier pour plus tard.
Allez sur admin.google.com et accédez à la section « Sécurité ». Ouvrez « Contrôles d’API », « Gérer l’accès des applications tierces ». Puis « Ajouter une application », « Nom de l’application OAuth ou ID client ». Entrez l’ID client de votre application OAuth, puis sélectionnez-la dans la liste. Suivez les étapes, en veillant à définir l’application comme « Fiable ». Elle devrait alors apparaître dans la liste :
Revenez à la section « Contrôles d’API », faites défiler vers le bas et choisissez « Gérer la délégation à l’échelle du domaine ». Choisissez « Ajouter un nouveau », et entrez l’ID client du compte de service que vous avez créé précédemment. Sous les champs d’application, collez la valeur
Dans votre panneau d’administration Discourse, allez dans l’onglet des paramètres et recherchez « google oauth2 hd ». Configurez les paramètres suivants :
google oauth2 hd : le nom de domaine de votre Google Workspace
google_oauth2_hd_groups_service_account_json : collez le contenu du fichier de clé du compte de service que vous avez généré précédemment
google_oauth2_hd_groups_service_account_admin_email : entrez l’adresse e-mail de n’importe quel compte administrateur Google Workspace. Cette identité sera utilisée par le compte de service lors de la récupération des informations de groupe Google
google oauth2 hd groups : activé
La prochaine fois qu’un utilisateur se connectera, Discourse récupérera et stockera les informations de groupe Google en coulisses.
Pour lier un groupe Google à un groupe Discourse, visitez la configuration du groupe dans Discourse et allez dans la section Gérer → Adhésion. Sous « Automatique », vous verrez une nouvelle liste déroulante qui vous permet de lier un nombre quelconque de groupes Google au groupe Discourse :
Les modifications apportées à ce paramètre devraient prendre effet instantanément. Les modifications apportées à l’adhésion au groupe sur Google prendront effet lors de la prochaine connexion de l’utilisateur.
Un grand merci à @angus pour son travail sur cette fonctionnalité. Nous espérons étendre ce système de synchronisation de groupe à d’autres méthodes de connexion dans un avenir pas trop lointain.
J’aimerais l’utiliser avec « oauth2 générique » (spécifiquement pour Auth0). Y a-t-il un autre fil de discussion ou un problème GitHub que je puisse suivre pour cela ?
@david ou @angus Pouvez-vous s’il vous plaît fournir plus de détails pour l’élément 6.
Blockquote google oauth2 hd : le nom de domaine de votre Google Workspace
Voulez-vous dire mon domaine (ebsp.org) qui a un compte workspace ? Ou le domaine réel du workspace.
Est-ce juste l’URL ?
Blockquote google_oauth2_hd_groups_service_account_json : collez le contenu du fichier de clé du compte de service que vous avez généré précédemment
Collez tout le contenu du JSON ?
@angus@david J’ai suivi ces instructions telles qu’elles sont présentées. J’ai la case pour rechercher un groupe, mais aucun groupe ne s’affiche. Des idées ?
Salut Charlie, le google oauth2 hd provient de l’API Google OIDC (documentation ici). Ils disent que c’est :
Le domaine associé à l’organisation Google Workspace ou Cloud de l’utilisateur
Pour donner un exemple, si je mettais cela en place en interne pour notre personnel, je définirais la valeur sur discourse.org.
Yup !
Les groupes Google n’apparaîtront dans Discourse qu’une fois qu’un membre de ce groupe se sera connecté à Discourse en utilisant Google. Nous n’avons aucun système pour les lister à l’avance.
@david J’ai finalement réussi. J’ai dû désactiver certaines choses. La façon dont mon site était configuré, les utilisateurs étaient automatiquement connectés via Google Oauth. Je l’ai désactivé ainsi que Discourse Connect et cela a fonctionné. Je ne suis pas sûr de ce qui créait une déconnexion. Une fois que je me suis physiquement connecté avec Google, tout s’est rempli.
Comme @John_Faig, je me demande si c’est toujours expérimental.
Je viens de voir cette fonctionnalité et j’ai trois Google Groups que j’aimerais migrer. Il est extrêmement difficile de faire en sorte que les gens « changent ». Nous avons besoin de bonnes raisons pour sortir de notre zone de confort. Ensuite, nous ne voulons pas d’obstacles dans le processus. Créer un identifiant (Discourse) sur un autre site Web est une corvée pour les personnes qui sont déjà investies dans GG. Si cette fonctionnalité est stable, l’obstacle potentiel est supprimé, et nous pouvons nous concentrer sur la fourniture de raisons convaincantes pour que le public migre.