Google OAuth 2.0 クライアントID・シークレット取得手順

🗺️ 作業の流れ

作業の流れ:01 プロジェクト作成 → 02 同意画面を設定する → 03 スコープを確認する → 04 ブランディング → 05 OAuth 2.0 クライアントIDを作成する

1. 事前に用意するもの ✅

用意するもの説明
GoogleアカウントGoogle Workspace(組織のドメイン)のアカウントを推奨。個人Gmailでも可
ログイン対象のURLOAuthでログイン機能を追加したいWebアプリケーション・サービスのURL
リダイレクトURI認証後にユーザーを戻す先のURL。詳細は「OAuth 2.0 クライアントIDを作成する」を参照
メモ先パスワード管理ツール(1Password・Bitwarden等)を推奨

💡 Google Workspaceをお使いの場合、「組織内のアカウントだけログインを許可」にできる(同意画面を設定するを参照)。個人Gmailの場合はこの制限ができないため、必要に応じてアプリケーション側の許可リスト機能と組み合わせる。

2. プロジェクトを作成する

  1. Google Cloud Console にアクセスし、Googleアカウントでログインする
  2. 画面上部の「プロジェクトの選択」(プロジェクト名が表示されている部分)をクリックする
画面上部の「プロジェクトの選択」をクリックする
画面上部の「プロジェクトの選択」をクリックする
  1. ダイアログ右上の「新しいプロジェクト」をクリックする
ダイアログ右上の「新しいプロジェクト」をクリックする
ダイアログ右上の「新しいプロジェクト」をクリックする
  1. 以下を入力し「作成」をクリックする
項目入力例
プロジェクト名my-app-login(後で見て分かる名前なら何でも可)
親リソース(組織/場所)Workspaceの場合は組織を選択。個人Gmailは「組織なし」のまま
プロジェクト名と親リソースを入力して「作成」をクリックする
プロジェクト名と親リソースを入力して「作成」をクリックする
  1. 作成完了の通知が出たら、上部のプロジェクト選択で今作ったプロジェクトに切り替わっていることを確認する

⚠️ 初めてGoogle Cloudを使う場合、利用規約への同意画面が出る。請求先(クレジットカード)の登録は不要。OAuthクライアントの発行だけなら課金は発生しない。

3. 同意画面(Google Auth Platform)を設定する

ログイン時にユーザーへ「このアプリがあなたのGoogleアカウント情報を利用します」と表示される画面の設定。

  1. 左上の「≡」メニュー →「APIとサービス」→「OAuth同意画面」をクリックする
「APIとサービス」→「OAuth同意画面」を開く
「APIとサービス」→「OAuth同意画面」を開く
  1. 「Google Auth Platform はまだ構成されていません」と表示されるので「開始」をクリックする
Google Auth Platformの「開始」をクリックする
Google Auth Platformの「開始」をクリックする
  1. 4つのステップを順に入力する
ステップ1:アプリ情報
項目入力例
アプリ名例:MyApp(同意画面に表示される名前)
ユーザーサポートメール管理者のメールアドレス
ステップ1:アプリ名とユーザーサポートメールを入力する
ステップ1:アプリ名とユーザーサポートメールを入力する
ステップ2:対象(Audience)— ここが重要
選択肢選ぶべきケース
内部(Internal)推奨Google Workspace利用中で、組織のドメインのアカウントだけにログインを許可したい場合。Googleの確認(審査)は不要
外部(External)個人Gmailで作成している場合、または社外のGoogleアカウントにもログインを許可したい場合。まずテストモードで起動する
ステップ2:対象として「内部」または「外部」を選択する
ステップ2:対象として「内部」または「外部」を選択する

💡 「内部」はWorkspace組織に属するプロジェクトでしか選べない。個人Gmailで作ったプロジェクトは「外部」のみ選択可能。

ステップ3:連絡先情報

Googleからプロジェクトの変更通知を受け取るメールアドレスを入力する。ユーザーには表示されない。

ステップ3:通知を受け取るメールアドレスを入力する
ステップ3:通知を受け取るメールアドレスを入力する
ステップ4:終了

「Google API サービス: ユーザーデータに関するポリシー」に同意して「続行」→「作成」をクリックする。

ステップ4:ポリシーに同意して「続行」→「作成」をクリックする
ステップ4:ポリシーに同意して「続行」→「作成」をクリックする

補足:「外部」を選んだ場合の追加設定

「外部」を選ぶと、初期状態は「テスト」モード。テストモードではあらかじめ登録したテストユーザー(最大100名)しかログインできない。

方法A:テストユーザーを登録する(少人数・すぐ使いたい場合)
  1. 左メニュー「対象」をクリックする
  2. 「テストユーザー」の「+ Add users」をクリックする
  3. ログインさせたい人のGoogleアカウントのメールアドレスを追加し「保存」する
方法B:本番環境に公開する(人数制限をなくしたい場合)
  1. 左メニュー「対象」をクリックする
  2. 「アプリを公開」をクリックし、確認ダイアログで「確認」する
  3. 非機密スコープのみなら審査なしでそのまま公開状態になる

💡 「内部」を選んだ場合はこの手順は不要。組織内ドメインの全員が最初からログインできる。

4. スコープ(取得する情報)を確認する

ログイン機能に必要なのは基本的に「メールアドレス」「氏名」「プロフィール画像」だけ。これらは非機密スコープのため、Googleの審査(アプリ検証)は不要。

  1. 左メニュー「データアクセス」→「スコープを追加または削除」をクリックする
「データアクセス」→「スコープを追加または削除」をクリックする
「データアクセス」→「スコープを追加または削除」をクリックする
  1. フィルタ欄にスコープ名(例:openid)を入力して絞り込む
フィルタ欄にスコープ名を入力して絞り込む
フィルタ欄にスコープ名を入力して絞り込む
  1. 表示された行の左のチェックボックスをクリックして選択する
該当行のチェックボックスをクリックして選択する
該当行のチェックボックスをクリックして選択する
  1. 同じ要領で以下の3つすべてにチェックを入れ、「更新」→「保存」する
スコープ用途
openidOIDC認証の基本(必須)
.../auth/userinfo.emailメールアドレスの取得
.../auth/userinfo.profile氏名・プロフィール画像の取得
3つのスコープすべてにチェックが入った状態
3つのスコープすべてにチェックが入った状態

⚠️ Gmail・Drive・カレンダーなどのスコープは追加しない。ログインには不要で、追加するとGoogleの審査が必要になる。

5. ブランディングを設定する 🎨

同意画面に表示されるアプリ名・ロゴ・各種URLを整える設定。ユーザーが最初に目にする画面なので、社内向けであっても「何のアプリか」がひと目で分かるようにしておく。

  1. 左メニュー「ブランディング」をクリックする
  2. アプリ情報・アプリのロゴ・アプリのドメインを入力する
ブランディング画面でアプリ情報・ロゴ・アプリのドメインを設定する
ブランディング画面でアプリ情報・ロゴ・アプリのドメインを設定する
  1. ページ下部の「承認済みドメイン」と「デベロッパーの連絡先情報」を入力し、「保存」をクリックする
承認済みドメインとデベロッパーの連絡先情報を入力して「保存」をクリックする
承認済みドメインとデベロッパーの連絡先情報を入力して「保存」をクリックする
項目必須入力内容
アプリ名必須同意画面に表示される名前。ユーザーが認識できる名称にする
ユーザーサポートメール必須ユーザーからの問い合わせ先。自分のアドレスか、管理対象のグループアドレスを選択
アプリのロゴ任意120×120pxの正方形を推奨。JPG・PNG・BMP形式、1MB以内
アプリケーションのホームページ任意サービスのトップページURL
プライバシーポリシーのリンク任意プライバシーポリシーの掲載ページ
利用規約のリンク任意利用規約の掲載ページ
承認済みドメイン任意アプリで使用するドメイン(複数可)。https://やパスは含めない
デベロッパーの連絡先情報必須Googleからの通知を受け取るメールアドレス。ユーザーには表示されない

⚠️ ロゴをアップロードすると、アプリを送信してGoogleの確認(審査)を受ける必要がある。ただし「内部」で構成している場合や、公開ステータスが「テスト中」の場合は送信不要。急ぎで動かしたいときは、まずロゴなしで進め、後から追加するのが安全。

💡 アプリ名・ロゴ・各種URLはあとから何度でも変更でき、クライアントIDの再作成は不要。

6. OAuth 2.0 クライアントIDを作成する 🔑

6.1 クライアント作成画面を開く

  1. 左メニュー「クライアント」をクリックする
  2. 「+ クライアントを作成」をクリックする
「クライアント」→「+ クライアントを作成」をクリックする
「クライアント」→「+ クライアントを作成」をクリックする

6.2 基本情報を入力する

項目入力内容
アプリケーションの種類ウェブ アプリケーションを選択(必須)
名前例:web-client(管理用の名前。ユーザーには表示されない)
アプリケーションの種類に「ウェブ アプリケーション」を選び、名前を入力する
アプリケーションの種類に「ウェブ アプリケーション」を選び、名前を入力する

6.3 リダイレクトURIを登録する

ログイン成功後にGoogleがユーザーを戻す先のURL。1文字でも違うとログインに失敗するため、コピー&ペーストで正確に登録する。

設定項目値の例
承認済みのJavaScript生成元https://app.example.com
承認済みのリダイレクトURIhttps://app.example.com/admin/oauth/callback
JavaScript生成元とリダイレクトURIを入力し「作成」をクリックする
JavaScript生成元とリダイレクトURIを入力し「作成」をクリックする

⚠️ app.example.com の部分は実際に利用するドメインに置き換える。末尾の「/」の有無・httpとhttpsの違い・大文字小文字もすべて区別される。コールバックのパス(/admin/oauth/callbackの部分)は利用するアプリケーション・フレームワークの仕様に従う。

設定が有効になるまで5分から数時間かかることがある。

💡 1つのクライアントに複数のURIを登録できるため、開発環境・本番環境をまとめて管理することもできる。ただし環境ごとにクライアントを分けておくと、片方だけを無効化・再発行しやすくなる。

6.4 作成してID・シークレットを控える

  1. 「作成」をクリックする
  2. 「OAuth クライアントを作成しました」というダイアログが表示される
  3. クライアントIDとクライアントシークレットを必ずこの画面でコピーし、パスワード管理ツールに保存する
クライアントIDとシークレットをコピーして保存する(画像内の値はマスク済み)
クライアントIDとシークレットをコピーして保存する(画像内の値はマスク済み)
項目形式の例(実際の値ではない)
クライアントID123456789012-abcdefghijklmnopqrstuvwxyz123456.apps.googleusercontent.com
クライアントシークレットGOCSPX-xxxxxxxxxxxxxxxxxxxxxxxxxxxx

🚨 クライアントシークレットは、このダイアログを閉じると表示もダウンロードもできなくなる。

控え忘れた場合は、クライアントの詳細画面から「シークレットを追加」で新しいシークレットを発行し直す。古いシークレットは無効化できる。

「JSONをダウンロード」でも保存できるが、ファイルの管理には注意する(メール添付や共有フォルダへの放置はNG)。

7. 運用上の注意 🔒

  • シークレットの保管:パスワード管理ツールに保存し、Slack・メール・チャットへの平文貼り付けはしない
  • 漏えいが疑われるとき:クライアント詳細画面で「シークレットを追加」→新しい値をアプリケーション側に設定→古いシークレットを「無効化」。ログインは一時的に止まるが、再作成より安全で早い
  • 担当者交代:プロジェクトのIAMで後任にオーナー権限を付与してから、前任者を削除する(プロジェクトごと消えると全員ログイン不能になる)
  • アプリ名・ロゴの変更:Google Auth Platformの「ブランディング」からいつでも変更可能。クライアントの再作成は不要

付録:用語集 📖

用語意味
OIDC(OpenID Connect)OAuth 2.0の上に作られた「本人確認」の標準規格。アプリケーション側はこの方式でGoogleに本人確認を委ねる
クライアントIDアプリケーションを識別する公開ID。漏れても直ちに危険ではないが、シークレットとセットで管理する
クライアントシークレットアプリケーションが「本物である」ことをGoogleに証明する秘密の値。パスワードと同じ扱い
リダイレクトURIGoogle認証後にユーザーを戻すURL。悪意あるサイトへ誘導されないよう、事前登録した先にしか戻さない仕組み
スコープGoogleから受け取る情報の範囲。少ないほど安全で審査も不要
同意画面ユーザーが初回ログイン時に見る「この情報をアプリケーションに渡してよいですか?」の画面

1. 事前に用意するもの ✅

用意するもの説明登録例
GoogleアカウントGoogle Workspace(組織のドメイン)のアカウント、あるいは個人Gmailとなります。Google Workspaceアカウント
👉 XXXX@yamanex.co.jp
(ドメインはそれぞれ異なります)

Gmail
👉 YYYY@gmail.com
ログイン対象URLログイン機能を追加したいWebアプリケーション・サービスのURL。
ぶちAIワーク または ぶちAIゲートウェイのURLとなります。
テナント方式の場合
👉 https://XXX.ymnx.buchiai.jp

専用サーバーの場合
👉 https://{{ぶちAIワークのドメイン}}
リダイレクトURI認証後にユーザーを戻す先のURL。
詳細は「OAuth 2.0 クライアントIDを作成する」を参照
ぶちAIワークのログイン向け
https://{{ぶちAIワークのドメイン}}/oauth/google/callback
https://{{ぶちAIワークのドメイン}}/api/admin/oauth/google/callback

MCPサーバー向け
GBPの場合
👉 https://{{ぶちAIワークのドメイン}}/gbp/callback
Google Workspace
👉 https://{{ぶちAIワークのドメイン}}/google-ws/oauth2callback
  • Google Workspaceをお使いの場合、「組織内のアカウントだけログインを許可」にできます。(同意画面を設定するを参照)
  • 個人Gmailの場合は、ドメインではログインを制限できませんが、ユーザー登録で制限できます。

2. プロジェクトを作成する

  1. Google Cloud Console にアクセスし、Googleアカウントでログインする
  2. 画面上部の「プロジェクトの選択」(プロジェクト名が表示されている部分)をクリックする
画面上部の「プロジェクトの選択」をクリックする
  1. ダイアログ右上の「新しいプロジェクト」をクリックする
ダイアログ右上の「新しいプロジェクト」をクリックする
  1. 以下を入力し「作成」をクリックする
項目入力例
プロジェクト名my-app-login(後で見て分かる名前なら何でも可)
親リソース(組織/場所)Workspaceの場合は組織を選択。個人Gmailは「組織なし」のまま
プロジェクト名と親リソースを入力して「作成」をクリックする
  1. 作成完了の通知が出たら、上部のプロジェクト選択で今作ったプロジェクトに切り替わっていることを確認する

⚠️ 初めてGoogle Cloudを使う場合、利用規約への同意画面が出る。請求先(クレジットカード)の登録は不要。OAuthクライアントの発行だけなら課金は発生しない。

3. 同意画面(Google Auth Platform)を設定する

ログイン時にユーザーへ「このアプリがあなたのGoogleアカウント情報を利用します」と表示される画面の設定。

  1. 左上の「≡」メニュー →「APIとサービス」→「OAuth同意画面」をクリックする
「APIとサービス」→「OAuth同意画面」を開く
  1. 「Google Auth Platform はまだ構成されていません」と表示されるので「開始」をクリックする
Google Auth Platformの「開始」をクリックする
  1. 4つのステップを順に入力する

ステップ1:アプリ情報

項目入力例
アプリ名例:MyApp(同意画面に表示される名前)
ユーザーサポートメール管理者のメールアドレス
ステップ1:アプリ名とユーザーサポートメールを入力する

ステップ2:対象(Audience)— ここが重要

選択肢選ぶべきケース
内部(Internal)推奨Google Workspace利用中で、組織のドメインのアカウントだけにログインを許可したい場合。Googleの確認(審査)は不要
外部(External)個人Gmailで作成している場合、または社外のGoogleアカウントにもログインを許可したい場合。まずテストモードで起動する
ステップ2:対象として「内部」または「外部」を選択する

💡 「内部」はWorkspace組織に属するプロジェクトでしか選べない。個人Gmailで作ったプロジェクトは「外部」のみ選択可能。

ステップ3:連絡先情報

Googleからプロジェクトの変更通知を受け取るメールアドレスを入力する。ユーザーには表示されない。

ステップ3:通知を受け取るメールアドレスを入力する

ステップ4:終了

「Google API サービス: ユーザーデータに関するポリシー」に同意して「続行」→「作成」をクリックする。

ステップ4:ポリシーに同意して「続行」→「作成」をクリックする

補足:「外部」を選んだ場合の追加設定

「外部」を選ぶと、初期状態は「テスト」モード。テストモードではあらかじめ登録したテストユーザー(最大100名)しかログインできない。

方法A:テストユーザーを登録する(少人数・すぐ使いたい場合)

  1. 左メニュー「対象」をクリックする
  2. 「テストユーザー」の「+ Add users」をクリックする
  3. ログインさせたい人のGoogleアカウントのメールアドレスを追加し「保存」する

方法B:本番環境に公開する(人数制限をなくしたい場合)

  1. 左メニュー「対象」をクリックする
  2. 「アプリを公開」をクリックし、確認ダイアログで「確認」する
  3. 非機密スコープのみなら審査なしでそのまま公開状態になる

💡 「内部」を選んだ場合はこの手順は不要。組織内ドメインの全員が最初からログインできる。

4. スコープ(取得する情報)を確認する

ログイン機能に必要なのは基本的に「メールアドレス」「氏名」「プロフィール画像」だけ。これらは非機密スコープのため、Googleの審査(アプリ検証)は不要。

  1. 左メニュー「データアクセス」→「スコープを追加または削除」をクリックする
「データアクセス」→「スコープを追加または削除」をクリックする
  1. フィルタ欄にスコープ名(例:openid)を入力して絞り込む
フィルタ欄にスコープ名を入力して絞り込む
  1. 表示された行の左のチェックボックスをクリックして選択する
該当行のチェックボックスをクリックして選択する
  1. 同じ要領で以下の3つすべてにチェックを入れ、「更新」→「保存」する
スコープ用途
openidOIDC認証の基本(必須)
.../auth/userinfo.emailメールアドレスの取得
.../auth/userinfo.profile氏名・プロフィール画像の取得
3つのスコープすべてにチェックが入った状態

⚠️ Gmail・Drive・カレンダーなどのスコープは追加しない。ログインには不要で、追加するとGoogleの審査が必要になる。

5. ブランディングを設定する 🎨

同意画面に表示されるアプリ名・ロゴ・各種URLを整える設定。ユーザーが最初に目にする画面なので、社内向けであっても「何のアプリか」がひと目で分かるようにしておく。

  1. 左メニュー「ブランディング」をクリックする
  2. アプリ情報・アプリのロゴ・アプリのドメインを入力する
ブランディング画面でアプリ情報・ロゴ・アプリのドメインを設定する
  1. ページ下部の「承認済みドメイン」と「デベロッパーの連絡先情報」を入力し、「保存」をクリックする
承認済みドメインとデベロッパーの連絡先情報を入力して「保存」をクリックする
項目必須入力内容
アプリ名必須同意画面に表示される名前。ユーザーが認識できる名称にする
ユーザーサポートメール必須ユーザーからの問い合わせ先。自分のアドレスか、管理対象のグループアドレスを選択
アプリのロゴ任意120×120pxの正方形を推奨。JPG・PNG・BMP形式、1MB以内
アプリケーションのホームページ任意サービスのトップページURL
プライバシーポリシーのリンク任意プライバシーポリシーの掲載ページ
利用規約のリンク任意利用規約の掲載ページ
承認済みドメイン任意アプリで使用するドメイン(複数可)。https://やパスは含めない
デベロッパーの連絡先情報必須Googleからの通知を受け取るメールアドレス。ユーザーには表示されない

⚠️ ロゴをアップロードすると、アプリを送信してGoogleの確認(審査)を受ける必要がある。ただし「内部」で構成している場合や、公開ステータスが「テスト中」の場合は送信不要。急ぎで動かしたいときは、まずロゴなしで進め、後から追加するのが安全。

💡 アプリ名・ロゴ・各種URLはあとから何度でも変更でき、クライアントIDの再作成は不要。

6. OAuth 2.0 クライアントIDを作成する 🔑

6.1 クライアント作成画面を開く

  1. 左メニュー「クライアント」をクリックする
  2. 「+ クライアントを作成」をクリックする
「クライアント」→「+ クライアントを作成」をクリックする

6.2 基本情報を入力する

項目入力内容
アプリケーションの種類ウェブ アプリケーションを選択(必須)
名前例:web-client(管理用の名前。ユーザーには表示されない)
アプリケーションの種類に「ウェブ アプリケーション」を選び、名前を入力する

6.3 リダイレクトURIを登録する

ログイン成功後にGoogleがユーザーを戻す先のURL。1文字でも違うとログインに失敗するため、コピー&ペーストで正確に登録する。

設定項目値の例
承認済みのJavaScript生成元https://app.example.com
承認済みのリダイレクトURIhttps://app.example.com/admin/oauth/callback
JavaScript生成元とリダイレクトURIを入力し「作成」をクリックする

⚠️ app.example.com の部分は実際に利用するドメインに置き換える。末尾の「/」の有無・httpとhttpsの違い・大文字小文字もすべて区別される。コールバックのパス(/admin/oauth/callbackの部分)は利用するアプリケーション・フレームワークの仕様に従う。

設定が有効になるまで5分から数時間かかることがある。

💡 1つのクライアントに複数のURIを登録できるため、開発環境・本番環境をまとめて管理することもできる。ただし環境ごとにクライアントを分けておくと、片方だけを無効化・再発行しやすくなる。

6.4 作成してID・シークレットを控える

  1. 「作成」をクリックする
  2. 「OAuth クライアントを作成しました」というダイアログが表示される
  3. クライアントIDとクライアントシークレットを必ずこの画面でコピーし、パスワード管理ツールに保存する
クライアントIDとシークレットをコピーして保存する(画像内の値はマスク済み)
項目形式の例(実際の値ではない)
クライアントID123456789012-abcdefghijklmnopqrstuvwxyz123456.apps.googleusercontent.com
クライアントシークレットGOCSPX-xxxxxxxxxxxxxxxxxxxxxxxxxxxx

🚨 クライアントシークレットは、このダイアログを閉じると表示もダウンロードもできなくなる。

控え忘れた場合は、クライアントの詳細画面から「シークレットを追加」で新しいシークレットを発行し直す。古いシークレットは無効化できる。

「JSONをダウンロード」でも保存できるが、ファイルの管理には注意する(メール添付や共有フォルダへの放置はNG)。

7. 運用上の注意 🔒

  • シークレットの保管:パスワード管理ツールに保存し、Slack・メール・チャットへの平文貼り付けはしない
  • 漏えいが疑われるとき:クライアント詳細画面で「シークレットを追加」→新しい値をアプリケーション側に設定→古いシークレットを「無効化」。ログインは一時的に止まるが、再作成より安全で早い
  • 担当者交代:プロジェクトのIAMで後任にオーナー権限を付与してから、前任者を削除する(プロジェクトごと消えると全員ログイン不能になる)
  • アプリ名・ロゴの変更:Google Auth Platformの「ブランディング」からいつでも変更可能。クライアントの再作成は不要

付録:用語集 📖

用語意味
OIDC(OpenID Connect)OAuth 2.0の上に作られた「本人確認」の標準規格。アプリケーション側はこの方式でGoogleに本人確認を委ねる
クライアントIDアプリケーションを識別する公開ID。漏れても直ちに危険ではないが、シークレットとセットで管理する
クライアントシークレットアプリケーションが「本物である」ことをGoogleに証明する秘密の値。パスワードと同じ扱い
リダイレクトURIGoogle認証後にユーザーを戻すURL。悪意あるサイトへ誘導されないよう、事前登録した先にしか戻さない仕組み
スコープGoogleから受け取る情報の範囲。少ないほど安全で審査も不要
同意画面ユーザーが初回ログイン時に見る「この情報をアプリケーションに渡してよいですか?」の画面