Pour commencer, configurez la connexion Google selon ces instructions :
Ensuite, suivez ces étapes :
-
Dans le tableau de bord Google pour votre intégration OAuth, allez dans « APIs & Services » (API et services), et ajoutez « Admin SDK »
→ → -
Allez dans « IAM & Admin » (IAM et administration) → « Service Accounts » (Comptes de service) → « Create Service Account » (Créer un compte de service) et configurez un compte. Les deux étapes facultatives ne sont pas requises - passez-les.
-
Dans la liste des comptes de service, cliquez sur le compte nouvellement créé, notez l’« unique id » (identifiant unique) pour plus tard, puis allez dans l’onglet « keys » (clés). Créez une nouvelle clé au format « JSON » et enregistrez le fichier pour plus tard.
-
Allez sur admin.google.com, et visitez la section « security » (sécurité). Ouvrez « API Controls » (Contrôles d’API), « Manage Third Party App Access » (Gérer l’accès des applications tierces). Ensuite, « Add App » (Ajouter une application), « OAuth App Name or Client ID » (Nom de l’application OAuth ou ID client). Entrez l’ID client de votre application OAuth, puis sélectionnez-la dans la liste. Parcourez les étapes, en vous assurant de définir l’application comme « Trusted » (Approuvée). Elle devrait ensuite apparaître dans la liste :
-
Retournez à la section « API Controls » (Contrôles d’API), faites défiler vers le bas et choisissez « Manage Domain Wide Delegation » (Gérer la délégation à l’échelle du domaine). Choisissez « Add New » (Ajouter nouveau) et entrez l’ID client du compte de service que vous avez créé précédemment. Sous « scopes » (scopes), collez la valeur
https://www.googleapis.com/auth/admin.directory.group.readonly -
Dans votre panneau d’administration Discourse, allez dans Admin (Admin) > Config (Configuration) > Login and Authentication (Connexion et authentification) > Authenticators (Authentificateurs) 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é de 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 tout 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 Manage (Gérer) → Membership (Adhésion). Sous « Automatic » (Automatique), vous verrez une nouvelle liste déroulante qui vous permet de lier n’importe quel nombre de groupes Google au groupe Discourse :
Les modifications apportées à ce paramètre devraient prendre effet immédiatement. Les changements d’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 futur proche.





