「Google でログイン」を利用すると、ウェブサイトでのユーザー認証をすばやく管理できます。ユーザーは Google アカウントにログインして同意を行い、プロフィール情報をプラットフォームと安全に共有します。
ユーザーの登録とログインでは、カスタマイズ可能なボタンと複数のフローがサポートされています。
「登録」とは、プロフィール情報をプラットフォームと共有することについて、Google アカウント所有者の同意を得る手順のことです。通常、この共有データを使用してサイトに新しいアカウントを作成しますが、これは必須ではありません。
ログインとは、ユーザーがアクティブな Google アカウントを使用してウェブサイトにログインすることを意味し、すでに Google アカウントにログイン中のユーザーに対しては、カスタマイズされたログインボタン、またはワンタップと自動ログインを使用します。
「Google でログイン」の統合の成功事例については、事例紹介をご覧ください。
また、Google Identity Services Authorization API を使用して、Google API で使用する、またはユーザーデータにアクセスするためのアクセス トークンを取得することもできます。
「Google でログイン」のデモ
ボタンをクリックして Google アカウントにログインします。
ユーザーのプライバシー
「Google でログイン」のデータは、広告やその他のセキュリティ以外の目的に使用されることはありません。
使用例
「Google でログイン」をサイトに追加する理由には、次のようなものがあります。
- アカウント作成ページまたは設定ページに、信頼性が高く安全な「Google でログイン」ボタンを追加する。
- 新しいアカウントに、Google アカウント プロファイルから同意のもとで共有されたデータが事前入力される。
- ユーザーは、他のサイトでユーザー名やパスワードを再入力することなく、Google アカウントに 1 回ログインできます。
- サイトを再訪問したユーザーは、自動ログインすることも、ワンクリックでサイト全体にログインすることもできます。
- 確認済みの Google アカウントを使用すると、匿名性を維持しながらコメント、投票、フォームを不正使用から保護できます。
サポートされる機能
「Google でログイン」では以下の機能がサポートされています。
- 登録し、必要に応じて Google アカウントのプロフィールから自動入力される新しいアカウントを作成します。
- 複数のアカウントから選択するには、Account Chooser を使用してログインします。
- Google アカウントにすでにログインしている場合は、ワンタップでログインできます。
- パソコン、スマートフォン、または複数のブラウザタブを使って、再訪問時に自動的にログインできます。
- ログアウト: すべてのデバイスで自動ログインを無効にします。
アカウントのステータスが「Google でログイン」にどのように影響するかをご確認ください。
- Google アカウントを一時停止すると、「Google でログイン」を使用したすべてのサイトへのログインが停止します。
- Google アカウントまたはパートナーのアカウントを削除しても、一方に影響はありませんが、もう一方のアカウントには影響しません。
OAuth と OpenId Connect との比較
OAuth と OpenId Connect はオープン標準であり、認証フローと認可フローの動作を微調整するための幅広い構成可能なオプションを提供しています。詳しくは、Google の OAuth のドキュメントをご覧ください。
「Google でログイン」では、パーソナライズされたボタン、ワンタップ、自動ログイン、認証など、複数の関連サービスを包含する単一の SDK を提供しています。標準の OAuth や OpenID Connect プロトコルよりも簡単かつ安全なエクスペリエンスをデベロッパーに提供し、よりシームレスなユーザー エクスペリエンスを提供できるようにすることを目的としています。
- 「Google でログイン」は OAuth 2.0 に基づいています。「Google でログイン」でユーザーが付与する権限は、OAuth で付与する権限と同じで、その逆も同様です。
- OAuth 2.0 は、業界標準の認証プロトコルでもあります。証明書利用者が HTTP を使用して統合する一連のエンドポイントを提供します。
- Google Identity Services(GIS)API は JavaScript や HTML などの複数の言語で利用でき、認証と認可の両方に対応しています。
- GIS では、認証の瞬間と認可の瞬間を区別します。認証時に、カスタマイズされたボタン、ワンタップ、自動ログインなどの UI 要素をウェブサイトに統合するだけで、迅速な統合を実現できます。これらの UI 要素により、すべてのサードパーティ ウェブサイトで一貫した認証 UX を実現できます。認証時に、GIS が OAuth フローをトリガーし、ユーザーに代わってデータアクセス用のトークンを返します。
- GIS 認証により、証明書利用者との統合が容易になり、デベロッパーが OAuth やセキュリティに関する知識を必要とする負担のほとんどを軽減できます。アクセス トークンや認証コードを取得するためにさまざまな方法を選択する必要はありません。また、誤った方法を選択しても、結果をリスクに晒す必要はありません。OAuth 2.0 プロトコルは HTTP エンドポイントのリクエスト パラメータやレスポンス パラメータなど、多くの詳細を公開しますが、これらの実装の詳細は GIS によって処理されます。また、GIS にはクロスサイト リクエスト フォージェリ(CSRF)を保護するためのセキュリティ実装がデフォルトで組み込まれています。
- HTML API とコード生成ツールを使用すると、GIS 認証により証明書利用者の統合のハードルがさらに低くなります。コードの生成に JavaScript デベロッパーは必要ありません。これにより、必要な OAuth エクスペリエンスのレベルと実装にかかる時間を短縮できます。
- GIS 認証 UX は、完全に OAuth UX に基づいています。ただし、GIS JavaScript ライブラリにはいくつかの制限が追加され、より簡単かつ安全な証明書利用者の統合が可能になります。
- GIS には、OAuth プロトコル以外の機能も備わっています。たとえば、Password Credential Manager API と Federated Credential Manager API が統合されています。
Google Identity Services を使用すると、デベロッパーは専用の統合サービスを使用して、ユーザーが選択したログイン認証情報でデベロッパーのウェブサイトやアプリにログインできるようになります。GIS の使命は、複数のタイプの認証情報に対応する UX をサポートし、合理化し、証明書利用者の統合における技術的負担を低減することです。
Federated Credential Manager(FedCM)
プライバシー サンドボックスの取り組みの一環として、Chrome ではサードパーティ Cookie のサポートを段階的に廃止しています。GIS は FedCM API を統合しています。FedCM API は、フェデレーション ID プロバイダ向けのサードパーティ Cookie に代わる、新しいプライバシー保護の手法です。2024 年 4 月に Chrome ブラウザの FedCM へのすべてのウェブサイトの移行が GIS で開始されます。
認証と認可のタイミングの分離
Google API で使用するアクセス トークンを取得する、またはユーザーデータにアクセスするには、Google Identity Services の Authorization API を呼び出す必要があります。これは独立した JavaScript API ですが、認証 API と一緒にパッケージ化されています。
ウェブサイトで認証 API と認可 API の両方を呼び出す必要がある場合は、異なるタイミングで別々に呼び出す必要があります。認証の時点で、ウェブサイトをワンタップ、自動ログイン、「Google でログイン」ボタンと統合して、ユーザーがウェブサイトへのログインや登録を行えるようにできます。後で Google からのデータにアクセスする必要がある場合は、Authorization API を呼び出して同意を求め、データアクセス用のアクセス トークンを取得します。この分離は、状況に応じて権限がリクエストされる、推奨される段階的承認のベスト プラクティスに準拠しています。
この分離を強制するために、認証 API はウェブサイトへのログインに使用される ID トークンのみを返すことができますが、Authorization API はデータアクセスのみに使用されるコードまたはアクセス トークンのみを返すことができます。
この分離により、ユーザーは異なるウェブサイト間で一貫した認証エクスペリエンスを得ることができ、ユーザーの信頼感と利用率が向上し、ウェブサイトにおけるユーザー コンバージョン率の向上につながります。また、この分離により、Google Identity Services では、認証デベロッパーに必要な OAuth エクスペリエンスのレベルが削減され、実装に要する時間が短縮されます。