ソーシャルログイン

Googleログインの実装方法|OAuthクライアント作成・同意画面・One Tap導入まで【事業者向け】

Googleログインの導入は、コードを書く前のGoogle Cloudの設定で手戻りが起きがちです。「テスト」のまま公開してしまう、クライアントシークレットを保管し損ねるといった失敗は、手順を知っていれば防げます。本記事では設定を4段階に分け、公開までに確認すべき点を示します。

Googleログインの実装とは、Google CloudでOAuthクライアントを作成し、自社サイトにGoogleアカウントでのログインを組み込むことです。本記事は、自社サイトにGoogleログインを導入する事業者・開発者向けに、設定の手順と公開までの確認事項を解説します。

ソーシャルログインの基本(仕組み・メリットとデメリット・選び方)はソーシャルログインとはで解説しています。

利用者としてのGoogleログインの仕組みはGoogleログインとは、会員の識別や名寄せなど設計でつまずきやすい点はGoogleログインの実装とつまずきやすい5つの箇所で解説しています。

結論:設定は4段階。公開前に「テスト」から「本番環境」へ切り替える

Googleログインの設定は、Google Cloudの管理画面「Google Auth Platform」で行います。作業は次の4段階です。

段階

作業

決めておくこと

1. プロジェクトと同意画面

プロジェクトを作り、アプリ名・サポート用メール・ドメインなどを登録する

同意画面に表示するアプリ名、プライバシーポリシーと利用規約のURL

2. OAuthクライアントの作成

種類に「ウェブ アプリケーション」を選び、許可するURLを登録する

本番と検証のドメイン、戻り先のURL

3. 自社サイトへの組み込み

ログインボタンやOne Tapを設置し、サーバーでIDトークンを検証する

ボタンを置く画面、会員の照合方法

4. テストと公開

テストユーザーで確認し、公開ステータスを「本番環境」に切り替える

確認する端末・ブラウザ

Googleの管理画面は名称や配置が変わることがあります。作業の直前に公式ドキュメントで最新の手順を確認してください。

段階1:プロジェクトを作り、同意画面を設定する

Google Cloudでプロジェクトを作成し、Google Auth Platformで同意画面の情報を登録します。同意画面は、利用者が初めてログインするときに「どのアプリに、どの情報を渡すか」を示す画面です。

  • ブランディング……アプリ名、ロゴ、サポート用メール、ホームページ・プライバシーポリシー・利用規約のURL、承認済みドメイン
  • 対象……ユーザーの種類(外部/内部)と公開ステータス、テストユーザー
  • データアクセス……アプリが求めるスコープ(取得する情報の範囲)

ユーザーの種類:一般向けサイトは「外部」

「内部」は、自社のGoogle Workspace組織に所属するアカウントだけに利用を限る設定です。一般の利用者が使う会員サイトでは「外部」を選びます。

公開ステータス:「テスト」のままでは一般公開できない

作成直後は「テスト」の状態で、ログインできるのは登録したテストユーザー(最大100人)だけです。テスト中の許可は同意から7日で失効します。公開前に「アプリを公開」で「本番環境」へ切り替えてください。

審査:ログインだけなら重い審査は不要

ログインに使う基本的なスコープ(openid・email・profile)は、機密性の低いスコープに分類されます。これだけを使う場合、アプリの審査(確認)は必須ではありません。

ただし、同意画面にアプリ名とロゴを表示するには、「ブランドの確認」という簡易な確認を受ける必要があります。ホームページやプライバシーポリシーが公開されていること、登録したドメインを所有していることなどが確認されるため、サイトの公開ページを先に用意しておくと手戻りがありません。

Googleカレンダーなど他のサービスのデータを使うスコープを追加すると、より厳しい審査の対象になります。ログインが目的なら、必要最小限のスコープに留めてください。

段階2:OAuthクライアントを作成する

Google Auth Platformの「クライアント」で「クライアントを作成」を選び、種類に「ウェブ アプリケーション」を指定します。登録する項目は次の2つです。

項目

登録する値

注意点

承認済みのJavaScript生成元

ボタンやOne Tapを表示するサイトのURL(例:https://www.example.com)

ローカル環境で試すときは http://localhost と http://localhost:ポート番号 の両方を登録する

承認済みのリダイレクトURI

ログイン後に戻ってくる自社のURL

登録した値と1文字でも違うとエラーになる。本番と検証の両方を登録する

作成するとクライアントIDが発行されます。サーバー側で認可コードを使う方式ではクライアントシークレットも使います。

2025年6月以降に作成したクライアントでは、クライアントシークレットは作成時にしか表示・ダウンロードできません。その場で安全な場所に保管してください。また、6か月間使われていないクライアントは自動的に削除されます。検証用のクライアントを放置していると、使おうとしたときに消えていることがあります。

取得できる情報

ログインが成功すると、Googleが署名したIDトークン(JWT)を受け取ります。主な項目は次のとおりです。

項目

内容

使い方

sub

Googleアカウントごとの固有のID

会員の識別に使う。他のアカウントに再利用されない

email

メールアドレス

連絡先として使う。利用者が変更できるため、識別には使わない

email_verified

メールアドレスが確認済みか

既存会員との照合に使う前に必ず確認する

name・picture

表示名とプロフィール画像のURL

会員登録フォームの初期値やマイページの表示に使う

hd

Google Workspaceのドメイン

法人向けサービスで、特定の会社のアカウントに限るときに使う

Googleも、識別にはメールアドレスではなくsubを使うよう明記しています。取得できる情報と使い方の詳細はソーシャルログインで取得できる情報も参照してください。

段階3:Google Identity Servicesで組み込む

ウェブサイトへの組み込みには、Googleが提供するJavaScriptのライブラリGoogle Identity Servicesを使います。主な表示方法は次の3つです。

方法

見え方

向いている場面

ログインボタン

「Googleでログイン」のボタン。ログイン済みの利用者には名前入りで表示されることがある

ログイン画面・会員登録画面

One Tap

画面の隅に、Googleアカウントを選ぶだけのダイアログを表示

記事ページや商品ページなど、ログイン画面以外

自動ログイン

一度許可した利用者を、再訪時に自動でログインさせる

再訪が多いサービス

設置は、HTMLに専用の属性を書く方法と、JavaScriptで初期化して表示する方法があります。どちらも、ログインが成功するとIDトークンがJavaScriptの関数か、指定した自社のログイン用URLに渡されます。

受け取ったIDトークンは、必ずサーバー側で検証します。確認するのは次の4点です。

  1. Googleの公開鍵で署名が正しいか
  2. aud(宛先)が自社のクライアントIDと一致するか
  3. iss(発行元)がGoogleか
  4. exp(有効期限)が切れていないか

多くの言語でGoogleが検証用のライブラリを提供しています。自前で書くより、これを使うほうが安全です。

ブラウザの変化への対応(FedCM)

ブラウザのサードパーティCookie制限に合わせ、Google Identity ServicesはFedCMというブラウザ標準の仕組みへの移行を進めています。新規に実装する場合は、公式ガイドに沿ってFedCMを有効にしておくと、後からの改修を減らせます。FedCMを有効にすると、One Tapの表示状態を判定する一部の関数が使えなくなるなど挙動が変わるため、移行ガイドで変更点を確認してください。

段階4:テストと公開

観点

確認すること

テストユーザー

「テスト」状態では、登録したテストユーザー以外はログインできない

ローカル環境

http://localhost で試す場合、Referrer-Policyの設定が必要になることがある。One TapはHTTPSのドメインでしか表示されない

One Tapの非表示期間

利用者がOne Tapを閉じると、しばらく表示されなくなる。テスト中に「表示されない」と誤解しやすい

アプリ内ブラウザ

SNSアプリなどのアプリ内ブラウザからは、Googleのログインが制限される。標準のブラウザで開くよう案内する

2回目以降のログイン

同じ会員としてログインでき、新しい会員が作られていないか

本番への切り替え

公開ステータスが「本番環境」か。本番のURLを生成元とリダイレクトURIに登録したか

注意点

  • ボタンの見た目……Googleのブランドガイドラインに沿ったボタンを使う。独自のデザインに作り替えない
  • スコープは最小限に……ログインに不要な情報を求めると、審査が重くなり、同意画面で離脱も起きやすくなる
  • 管理者アカウント……Google Cloudのプロジェクトは、担当者個人ではなく会社で管理するアカウントで作る。退職で設定を変更できなくなる事故を防げる
  • 既存会員との紐づけ……メールアドレスの一致だけで自動的に統合しない(ソーシャルログインのアカウント統合

Google以外のSNSも合わせて導入する場合の手順と期間は、ソーシャルログインの導入手順と期間で解説しています。

よくある質問

Googleログインの導入に費用はかかりますか?

Googleログインの仕組み自体に、Googleへの利用料はかかりません。費用になるのは、自社で実装・保守する開発の工数か、ログインの仕組みを外部のサービスで用意する場合の利用料です。

審査にはどれくらいかかりますか?

ログインに必要な基本的なスコープだけなら、重い審査は必須ではありません。同意画面にアプリ名とロゴを出すためのブランドの確認は、公開ページの準備が整っていればスムーズに進みやすくなります。期間は案件によって違うため、公開日から逆算して早めに申請してください。

One Tapとログインボタンは両方入れるべきですか?

役割が違うため、併用が一般的です。ログイン画面にはボタンを置き、記事ページなどログイン画面以外にOne Tapを出すと、ログインの機会を増やせます。

スマホアプリでも同じ設定を使えますか?

使えません。iOSやAndroidのアプリでは、アプリの種類ごとに別のOAuthクライアントを作成し、各OS向けの方法で実装します。アプリに埋め込んだWebViewの中でGoogleのログイン画面を開く方式は、Googleのポリシーで認められていません。

Login Plus について

Login Plus のログイン画面。6つのソーシャルログインとパスキーに対応
Login Plus のログイン画面。6つのソーシャルログインとパスキーに対応

Login Plusは、Googleを含む6つのソーシャルログイン(Apple・Facebook・Google・X(旧Twitter)・Yahoo! JAPAN・LINE)とパスキーに1つの実装で対応できるサービスです。

  • Google One Tapに対応
  • 各SNSへの申請手順書を契約企業に無償で提供
  • 各SNSの仕様変更にはLogin Plus側で対応
  • 取得した情報をフォームへ自動入力するフォームアシスト機能
  • 導入はプロバイダ申請から約2か月でリリース(導入の流れ

Googleログインを含むソーシャルログインの導入のご相談は、資料請求またはお問い合わせからどうぞ。

ソーシャルログイン・パスキーの資料をお送りします

対応SNS・料金・実装の流れ・導入事例をまとめています。
「自社に導入できるか」のご相談も、同じフォームから承ります。

送信をもって個人情報の取り扱いに同意いただいたものとみなします。

個別のご相談は からもどうぞ。

送信をもって個人情報の取り扱いに同意いただいたものとみなします。

送信をもって個人情報の取り扱いに同意いただいたものとみなします。