「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 アカウントを停止すると、「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 をサポートし、合理化し、証明書利用者の統合における技術的なハードルを下げることです。
認証と認可のタイミングを分離
Google API で使用するアクセス トークンを取得する場合、またはユーザーデータにアクセスする場合には、Google Identity Services Authorization API を呼び出す必要があります。これは別個の JavaScript API ですが、認証 API と一緒にパッケージ化されています。
ウェブサイトで認証 API と認可 API の両方を呼び出す必要がある場合は、異なるタイミングで別々に呼び出す必要があります。認証の時点で、ウェブサイトをワンタップ、自動ログイン、「Google でログイン」ボタンと統合して、ユーザーがウェブサイトへのログインまたは登録を行えるようにできます。後で Google からのデータにアクセスすることが必要になったときは、認可 API を呼び出して同意を求め、データアクセス用のアクセス トークンを取得します。この分離は、状況に応じて権限がリクエストされる、Google が推奨する増分認可のベスト プラクティスに準拠しています。
この分離を実現するため、認証 API はウェブサイトへのログインに使用される ID トークンのみを返すことができます。一方、認可 API は、データアクセスにのみ使用され、ログインには使用されないコードまたはアクセス トークンのみを返すことができます。
この分離により、ユーザーは異なるウェブサイト間で一貫した認証エクスペリエンスを得られるため、ユーザーの信頼と利用度が高まり、ウェブサイトでのユーザー コンバージョン率の向上につながります。また、この分離により、Google Identity Services は、必要な OAuth エクスペリエンスのレベルと認証デベロッパーの実装時間を短縮します。