OAuth ベースのアプリ切り替えによる Google アカウントのリンク

OAuth ベースのアプリ切り替え(アプリ切り替え)を使用すると、ユーザーは、認証システム内のユーザーのアカウントを各自の Google アカウントに簡単かつ迅速にリンクできます。ユーザーのスマートフォンに対象のアプリがインストールされている場合、ユーザーがアカウント リンク処理を開始すると、そのアプリにシームレスに切り替わってユーザーの承認が取得されます。

このアプローチでは、ユーザーが認証のためにユーザー名とパスワードを再入力する必要がないため、リンク処理がより迅速かつ簡単になります。代わりに、アプリ切り替えはアプリ上のユーザー アカウントの認証情報を利用します。ユーザーが Google アカウントをアプリにリンクすると、デベロッパーが開発した統合機能を利用できるようになります。

iOS アプリと Android アプリの両方でアプリ切り替えを設定できます。

この図は、ユーザーが自身の Google アカウントをデベロッパーの認証システムにリンクする手順を示しています。1 つ目のスクリーンショットは、ユーザーの Google アカウントがアプリにリンクされている場合にユーザーがアプリをどのように選択できるかを示しています。2 つ目のスクリーンショットは、Google アカウントとアプリをリンクするための確認画面を示しています。3 つ目のスクリーンショットは、Google アプリでユーザー アカウントが正常にリンクされた状態を示しています。
図 1. ユーザーのスマートフォンでのアプリ切り替えによるアカウント リンク。

要件

アプリ切り替えを実装するには、次の要件を満たす必要があります。

  • Android または iOS のアプリが必要です。
  • OAuth 2.0 認可コードフローをサポートする OAuth 2.0 サーバーを所有、管理、メンテナンスする必要があります。

設計ガイドライン

このセクションでは、アプリ切り替えのアカウントのリンク同意画面に関する設計要件と推奨事項について説明します。Google がアプリを呼び出すと、アプリはユーザーに同意画面を表示します。

要件

  1. ユーザーのアカウントが Google Home や Google アシスタントなどの特定の Google サービスにリンクされているのではなく、Google にリンクされていることを伝える必要があります。

推奨事項

次のことをおすすめします。

  1. Google のプライバシー ポリシーを表示します。同意画面に、Google のプライバシー ポリシーへのリンクを含めます。

  2. 共有されるデータ。明確で簡潔な表現を使用して、Google がユーザーのどのようなデータを必要とし、その理由をユーザーに伝えます。

  3. 行動を促す明確なフレーズ同意画面に「同意してリンク」など、明確な行動を促すフレーズを記載します。これは、アカウントをリンクするために Google と共有する必要があるデータについて、ユーザーが理解できるようにするためです。

  4. キャンセルできること。ユーザーがリンクしないことを選択した場合に、ユーザーが戻るまたはキャンセルできる方法を提供します。

  5. リンクを解除できること。ユーザーがリンクを解除するためのメカニズム(プラットフォームのアカウント設定への URL など)を提供します。または、ユーザーがリンクされたアカウントを管理できる Google アカウントへのリンクを追加することもできます。

  6. ユーザー アカウントを変更する機能。アカウントを切り替える方法をユーザーに提案します。これは、ユーザーが複数のアカウントを持っている場合に特に便利です。

    • ユーザーがアカウントを切り替えるために同意画面を閉じる必要がある場合は、回復可能なエラーを Google に送信して、ユーザーが OAuth リンク暗黙的フローを使用して目的のアカウントにログインできるようにします。
  7. ロゴを含めます。同意画面に会社のロゴを表示します。スタイル ガイドラインに沿ってロゴを配置します。Google のロゴも表示する場合は、ロゴと商標をご覧ください。

この図は、同意画面の例を示しています。同意画面を設計する際に、個々の要件と従うべき推奨事項が記載されています。
図 2. アカウントのリンクに関する同意画面の設計ガイドライン。

ネイティブ アプリにアプリ切り替えを実装する

アプリ切り替えを実装するには、アプリのユーザー認証コードを変更して、Google からのディープリンクを受け入れる必要があります。

Android アプリでアプリ切り替えをサポートするには、Android 実装ガイドの手順に沿って操作してください。

iOS アプリでアプリ切り替えをサポートするには、iOS 実装ガイドの手順に沿って操作します。

アプリ切り替えをテストする

本番環境のアプリと動作する OAuth 2.0 サーバーが利用可能になる前に、サンプルアプリとテストアプリを使用してアプリ切り替えをシミュレートできます。

アプリ切り替え中、まず Google アプリがお客様のアプリを開き、OAuth 2.0 サーバーから認証コード レスポンスをリクエストします。最後のステップで、レスポンスが Google アプリに返されます。

前提条件

Google アプリをシミュレートして、アプリを起動するインテントをトリガーするには、Android および iOS 用のアプリ フリップ テストツールをダウンロードしてインストールします。

AndroidiOS 用の App Flip サンプルをダウンロードしてインストールし、アプリをシミュレートして OAuth 2.0 レスポンス タイプを選択します。

テストシーケンス

  1. アプリ切り替えテストツールを開きます。
  2. Try Flip! を押して、アプリ切り替えのサンプルアプリを起動します。
  3. サンプルアプリのラジオボタンから回答を選択します。
  4. Send キーを押して、シミュレートされた OAuth 2.0 レスポンスをテストツールに戻します。
  5. テストツールのログメッセージで auth_code またはエラーの詳細を確認します。

本番環境テスト

App Flip は、登録と OAuth 2.0 サーバーの実装が完了した後に、本番環境でテストできます。

自動テストには、1 つの Google アカウントとタスク固有のメールアドレスを使用することをおすすめします。

アカウントのリンク状態は、Google アカウント所有者としてログインした状態で [リンク済みアカウント] を使用して確認できます。アカウントは、ここから繰り返しテストを行うとリンクが解除されることもあります。

必要に応じて、RISC を実装して、プログラムでリンクを解除し、変更を Google に通知することもできます。