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

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

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

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

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

要件

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

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

設計ガイドライン

このセクションでは、App Flip のアカウント リンクの同意画面の設計要件と推奨事項について説明します。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 に通知することもできます。