概要

「Google でログイン」を使用すると、ウェブサイトでのユーザー認証をすばやく管理できます。ユーザーは Google アカウントにログインして同意し、プロフィール情報をプラットフォームと安全に共有します。

カスタマイズ可能なボタンと複数のフローがユーザーの登録とログインに対応しています。

登録とは、プラットフォームとプロフィール情報を共有することについて、Google アカウント所有者の同意を得る手順のことです。通常、この共有データを使用してサイトに新しいアカウントを作成しますが、これは必須ではありません。

ログインとは、有効な Google アカウントを使用してウェブサイトにログインすることを意味し、パーソナライズされたログインボタンまたはワンタップ自動ログイン(Google アカウントにログイン済みのユーザーの場合)を使用できます。

「Google でログイン」の統合の成功事例に関する事例紹介をご覧ください。

また、Google Identity Services の Authorization API を使用して、Google API で使用するためのアクセス トークンを取得したり、ユーザーデータにアクセスしたりできます。

ユーザーのプライバシー

「Google でログイン」のデータが、広告やその他のセキュリティ以外の目的に使用されることはありません。

ユースケース

「Google でログイン」をサイトに追加する理由には以下のようなものがあります。

  • アカウントの作成ページまたは設定ページに、信頼性が高く安全な「Google でログイン」ボタンを追加する。
  • Google アカウントのプロフィールから、合意により共有されたデータが新しいアカウントに事前入力されます。
  • Google アカウントに一度ログインするだけで、他のサイトでユーザー名やパスワードを再入力する必要はありません。
  • 再度アクセスすると、ユーザーはサイト全体に自動的に、またはワンクリックでログインできます。
  • 確認済みの Google アカウントを使用することで、コメント、投票、フォームを不正行為から保護しつつ、匿名性を保ちます。

サポートされている機能

「Google でログイン」では、次の機能がサポートされています。

  • 登録します。必要に応じて、Google アカウントのプロフィールから自動入力された新しいアカウントを作成します。
  • ログインして、アカウント選択ツールを使用して複数のアカウントから選択します。
  • すでに 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 APIFederated Credential Manager API を統合します。

Google Identity Services を使用すると、デベロッパーは専用の統合サービスを使用して、ユーザーが選択したログイン認証情報でデベロッパーのウェブサイトやアプリにログインできるようになります。GIS の使命は、複数種類の認証情報の UX をサポートおよび合理化し、リライング パーティ統合の技術的なハードルを下げることです。

Federated Credential Manager(FedCM)

プライバシー サンドボックス イニシアチブの一環として、Chrome はサードパーティ Cookie のサポートを段階的に廃止します。GIS は FedCM API統合しています。FedCM API は、フェデレーション ID プロバイダのサードパーティ Cookie に代わるプライバシー保護の新たな代替手段です。2024 年 4 月、GIS により、Chrome ブラウザの FedCM へのすべてのウェブサイトの移行が開始されます。

認証と認可のタイミングを分離

Google API で使用するアクセス トークンを取得する、またはユーザーデータにアクセスするには、Google Identity Services の Authorization API を呼び出す必要があります。これは独立した JavaScript API ですが、認証 API と一緒にパッケージ化されています。

ウェブサイトで認証 API と認可 API の両方を呼び出す必要がある場合は、異なるタイミングで個別に呼び出す必要があります。認証時には、ワンタップ、自動ログイン、[Google でログイン] ボタンをウェブサイトに統合して、ユーザーがウェブサイトにログインまたは登録できるようにします。後で Google からデータにアクセスする必要がある場合は、Authorization API を呼び出して同意を求め、データアクセス用のアクセス トークンを取得します。この分離は、Google が推奨する段階的な承認のベスト プラクティス(権限は状況に応じてリクエストされる)に準拠しています。

この分離を適用するため、Authentication API はウェブサイトへのログインに使用される ID トークンのみを返すことができますが、Authorization API は、ログインではなくデータアクセスにのみ使用されるコードまたはアクセス トークンのみを返すことができます。

この分離により、ユーザーは異なるウェブサイトで一貫した認証エクスペリエンスを得ることができ、ユーザーの信頼と利用率を高め、ウェブサイトでのユーザー コンバージョン率を向上させることができます。また、この分離により、Google Identity Services は、認証デベロッパーに必要な OAuth エクスペリエンスのレベルと実装時間を削減します。