このガイドでは、Google Cloud Console で OAuth2 認証情報を設定して、Discourse サイトの Google ログイン連携を設定する方法を説明します。
必要なユーザーレベル: 管理者
概要
Google ログインを使用すると、ユーザーは自分の Google アカウントを使って Discourse サイトにサインインできます。このガイドでは、以下の手順を説明します。
- Google Cloud プロジェクトの作成
- OAuth 同意画面の設定
- 認証情報の設定
- Discourse での Google ログインの有効化
Google Cloud プロジェクトの作成
https://console.developers.google.comに移動します。- 左上にあるプロジェクト選択ボタンをクリックします。
- 「新しいプロジェクト」をクリックします。
- プロジェクト名とオプションで場所を入力します。
- 「作成」をクリックします。
プロジェクト作成後にエラーが表示される場合は、Ctrl+F5 を使用してページを更新してください。
OAuth 同意画面の設定
https://console.developers.google.comに再度移動し、まだ選択されていない場合は新しいプロジェクトを選択します。- 左側のパネルで「OAuth 同意画面」に移動します。左上の Google Cloud メニューを使用して、「API とサービス」 → 「OAuth 同意画面」を選択することもできます。
- 「開始」をクリックします。
- 「アプリ情報」の下にアプリ名を入力し、ユーザーサポートメールアドレスを選択します。
- ユーザーのアクセス範囲として「外部」を選択します。
- 次に、通知用メールアドレスを入力します。
- 最後に、API サービス: ユーザーデータ ポリシーに同意し、「作成」をクリックします。
認証情報の設定
- 「API とサービス」 → 「認証情報」画面に移動します。
- 「認証情報を作成」をクリックし、「OAuth クライアント ID」を選択します。
- OAuth クライアントを設定します。
- アプリケーションの種類として「ウェブアプリケーション」を選択し、名前を付けます。
- 承認済み JavaScript オリジンには、サイトの基本 URL (HTTPS を含む) を追加します。
- 承認済みリダイレクト URI には、コールバック URL を追加します:
https://your-discourse-site.com/auth/google_oauth2/callback- 「作成」をクリックします。
OAuth 2.0 クライアント ID をクリックします。
ClientID と Client Secret をコピーして、Discourse 管理画面に追加します。
Discourse 設定の構成
- Discourse 管理設定の「ログインと認証」で、以下の設定を行います。
enable google oauth2 loginsの設定を有効にします。google oauth2 client idに ID を入力します。google oauth2 client secretにシークレットを入力します。検証と公開
Google アドレスを持つユーザーを追加し、「Google でログイン」オプションを使用して Discourse にログインできることを確認して、連携をテストします。ログインできれば、設定は完了です!
注:
以前は、Google 開発者プロジェクトのステータスを
productionに変更するという最終ステップが必要でした。これは現在不要になったようです。念のため、これらの古いメモを残しておきます。連携を一般に公開するには:
- ステータスを「本番環境」に変更します。
- Google の検証プロセスを完了します。
- Google Search Console を介してサイトの所有権を確認します。
追加の設定
Google OAuth2 プロンプト
google oauth2 prompt設定は、ログイン時の Google 同意画面の動作を制御します。利用可能なオプションは次のとおりです。
- (空白) — デフォルトの Google の動作
none— 同意画面やアカウント選択画面を表示しないconsent— 常に同意画面を表示するselect_account— 常にアカウント選択をユーザーに促すGoogle Workspace (旧 G Suite、Google Apps) ログイン
ログインを特定の Google Workspace ドメインに制限するには:
Discourse 管理 -> ログインと認証で、google oauth2 hdサイト設定を見つけます。- Google Workspace ドメインを入力します。
Google Workspace グループ同期
Google Workspace グループを Discourse と自動的に同期できます。これには以下が必要です。
google oauth2 hd groups設定を有効にします。google oauth2 hdに Workspace ドメインを設定します。google oauth2 hd groups service account admin emailに Workspace 管理者のメールアドレスを入力します。- Google サービスアカウントの JSON 認証情報を
google oauth2 hd groups service account jsonに貼り付けます。サービスアカウントでは、ドメイン全体の委任が有効になっており、
https://www.googleapis.com/auth/admin.directory.group.readonlyスコープが付与されている必要があります。設定手順については、ドメイン全体の委任に関する Google のドキュメントを参照してください。トラブルシューティング
ログインに関する問題が発生した場合は、以下を確認してください。
- HTTPS が正しく設定されていることを確認する
- すべてのリダイレクト URI を再確認する
- サイトの SSL 証明書が有効であることを確認する
- 必要なすべての Google Cloud API が有効になっていることを確認する
- 詳細な OAuth2 リクエスト/レスポンスログを取得するために
google oauth2 verbose loggingを有効にする関連リソース
「いいね!」 165









