概要

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

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

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

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

要件

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

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

OAuth リンク認可コードフローの詳細については、OAuth サーバーを実装するをご覧ください。

設計ガイドライン

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

要件

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

推奨事項

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

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

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

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

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

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

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

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

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

OAuth ベースのアプリ切り替えを設定する

以下のセクションでは、OAuth ベースのアプリ切り替えの前提条件と、アプリ切り替えプロジェクトを Actions Console で設定する方法について説明します。

アクションを作成して OAuth 2.0 サーバーを設定する

アプリ切り替えを設定する前に、以下を行う必要があります。

Actions Console でアプリ切り替えを設定する

次のセクションでは、Actions Console でアプリ切り替えを構成する方法を説明します。

  1. 上部のナビゲーションにある [Develop](開発)をクリックし、次に、左側のナビゲーションで [アカウントのリンク] をクリックします。
  2. [アカウントのリンク] の横にあるスイッチをオンに切り替えます。
  3. [Account creation] で、[No, I only want to allow account creation on my website] を選択します。
  4. [次へ] をクリックします。
  5. [リンクタイプ] で、プルダウン メニューから [OAuth] と [認可コード] を選択します。
  6. [Next] をクリックします。
  7. [OAuth クライアント情報] の下にあるすべてのフィールドに入力します。(アプリ切り替えがサポートされていない場合は、通常の OAuth がフォールバックとして使用されます)。
  8. [次へ] をクリックします。
  9. [アプリでのアカウントのリンク(省略可)] で [iOS で有効にする] をオンにします。
  10. [Universal Link](ユニバーサル リンク)フィールドに入力します。ユニバーサル リンクについて詳しくは、アプリとウェブサイトのコンテンツへのリンクを許可する をご覧ください。
  11. 必要に応じてクライアントを構成する場合は、スコープを追加して、[Configure your client (optional)](クライアントの構成(省略可))で [Addscope](スコープを追加)をクリックします。そうでない場合は、[次へ] をクリックします。
  12. [テスト手順] で、プレースホルダとして「test」などの文字列を入力します。(このフィールドにテスト アカウントを入力する必要があるのは、公開するアクションを実際に送信する場合のみです)。
  13. [保存] をクリックします。

次のセクションに進んで iOS アプリまたは Android アプリにアプリ切り替えを実装できます。

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

アプリ切り替えを実装するには、Google からのディープリンクを許可するようにアプリのユーザー認可コードを変更する必要があります。

デバイスでアプリ切り替えをテストする

アクションを作成し、コンソールとアプリでアプリ切り替えを設定したら、モバイル デバイスでアプリ切り替えをテストできます。アプリ切り替えのテストには Google アシスタント アプリを使用できます。

アシスタント アプリからアプリ切り替えをテストする手順は次のとおりです。

  1. Actions Console に移動して、プロジェクトを選択します。
  2. 上部のナビゲーションで [Test](テスト)をクリックします。
  3. アシスタント アプリからアカウントのリンクフローをトリガーします。
    1. Google アシスタント アプリを起動します。
    2. [設定] をクリックします。
    3. [アシスタント] タブで、[スマートホーム] をクリックします。
    4. [追加(+)] をクリックします。
    5. プロバイダのリストからアクションを選択します。リストの先頭に「[test]」が付きます。リストから [test] アクションを選択する場合、アプリを開く必要があります。
    6. アプリが起動したことを確認し、承認フローのテストを開始します。