Google Workplaceからのグループ同期を有効にする(実験的)

:warning: これは実験的な機能です。予告なく変更される可能性があります。

開始するには、次の手順に従って Google ログインを構成してください。

次に、次の手順に従います。

  1. OAuth 統合の Google ダッシュボードで、「API とサービス」に移動し、「Admin SDK」を追加します。

  2. 「IAM と管理」->「サービス アカウント」->「サービス アカウントの作成」に移動し、アカウントを設定します。2 つのオプションの手順は不要です。スキップしてください。

  3. サービス アカウントのリストで、新しく作成したアカウントをクリックし、「一意の ID」を記録してから、「キー」タブに移動します。 「JSON」形式で新しいキーを作成し、後で保存するためにファイルを保存します。

  4. admin.google.com に移動し、「セキュリティ」セクションにアクセスします。「API コントロール」、「サードパーティ製アプリへのアクセス権の管理」を開きます。「アプリを追加」->「OAuth アプリ名またはクライアント ID」を選択します。OAuth アプリケーションのクライアント ID を入力し、リストから選択します。手順を実行し、アプリケーションを「信頼済み」に設定します。その後、リストに表示されるはずです。

  5. 「API コントロール」セクションに戻り、下にスクロールして「ドメイン全体での委任の管理」を選択します。「新規追加」を選択し、先ほど作成したサービス アカウントのクライアント ID を入力します。スコープの下に、値を貼り付けます。

    https://www.googleapis.com/auth/admin.directory.group.readonly
    
  6. Discourse 管理パネルで、設定タブに移動し、「google oauth2 hd」を検索します。次の設定を構成します。

    google oauth2 hd: Google Workspace のドメイン名

    google_oauth2_hd_groups_service_account_json: 先ほど生成したサービス アカウント キー ファイルの内容を貼り付けます。

    google_oauth2_hd_groups_service_account_admin_email: Google Workspace 管理アカウントのいずれかのアドレスを入力します。この ID は、Google グループ情報を取得する際にサービス アカウントによって使用されます。

    google oauth2 hd groups: 有効

次回ユーザーがログインすると、Discourse はバックグラウンドで Google グループ情報を取得して保存します。

Google グループを Discourse グループにリンクするには、Discourse のグループ構成にアクセスし、「管理」->「メンバーシップ」セクションに移動します。「自動」の下に、任意の数の Google グループを Discourse グループにリンクできる新しいドロップダウンが表示されます。

この設定の変更は即座に反映されます。Google のグループ メンバーシップの変更は、ユーザーの次回のログイン時に有効になります。

この機能に取り組んだ @angus には、多大な感謝を申し上げます。https://meta.discourse.org/t/managing-group-membership-via-authentication/175950?u=david。将来的には、このグループ同期システムを他のログイン方法にも拡張したいと考えています。

「いいね!」 8

「汎用OAuth2」(具体的にはAuth0)でこれを使用したいのですが。他にフォローできるスレッドやGitHubのイシューはありますか?

「いいね!」 3

@david または @angus アイテム6の詳細を教えていただけますか?

Blockquote google oauth2 hd: Google Workspace のドメイン名

  1. Workspace アカウントを持つ私のドメイン (ebsp.org) のことですか?それとも Workspace の実際のドメインですか?
  2. URL だけでいいのですか?

Blockquote google_oauth2_hd_groups_service_account_json : 先ほど生成したサービスアカウントキーファイルのコンテンツを貼り付けてください

JSON 全体をコピーして貼り付けるのですか?

@angus @david 指示通りに進めましたが、グループを検索するボックスは表示されるものの、グループが一切表示されません。何か考えられることはありますか?

チャーリーさん、こんにちは。google oauth2 hd は Google OIDC API (ドキュメントはこちら) から取得したものです。彼らによると、それは次のようなものです。

ユーザーの Google Workspace または Cloud 組織に関連付けられたドメイン

例として、社内でスタッフ向けに設定する場合、値は discourse.org に設定します。

はい!

Google グループは、そのグループのメンバーが Google を使用して Discourse にサインインした場合にのみ、Discourse に表示されます。事前に一覧表示するシステムはありません。

「いいね!」 1

@david やっと機能しました。いくつかの設定をオフにする必要がありました。私のサイトの設定では、ユーザーは Google OAuth を介して自動ログインしていました。それをオフにし、Discourse Connect もオフにしたところ、機能しました。どちらが切断の原因となっていたかは不明です。Google で物理的にログインすると、すべてが入力されました。

「いいね!」 1

Google グループの閲覧はまだ実験的な機能ですか?これらの手順は変更されましたか?

「いいね!」 1

@John_Faig さんと同様に、これがまだ実験的なものなのか疑問に思っています。

この機能を見たばかりで、移行したいGoogleグループが3つあります。「変化」を人々に促すことは非常に困難です。私たちは、快適ゾーンから抜け出すための良い理由を必要としています。そして、プロセスにつまずきを望んでいません。すでにGGに投資している人々にとって、さらに別のウェブサイトで(Discourse)ログインを作成することは手間がかかります。この機能が安定していれば、潜在的なつまずきが取り除かれ、聴衆を移行させるための説得力のある理由を提供することに集中できます。

ありがとうございます!