OAuth ベースのアプリ切り替えリンク(アプリ切り替え)を使用すると、ユーザーが認証システム内のアカウントを Google アカウントにすばやく簡単にリンクできます。ユーザーがアカウントのリンク プロセスを開始した際、アプリがユーザーのスマートフォンにインストールされている場合は、ユーザーはシームレスにアプリを切り替えてユーザー認証を取得します。
このアプローチでは、ユーザーが認証のためにユーザー名とパスワードを再入力する必要がなく、より迅速かつ簡単にリンクできます。アプリ切り替えでは、アプリ上のユーザーのアカウントの認証情報を使用します。ユーザーが Google アカウントとアプリをリンクすると、ユーザーは開発した統合を活用できます。
アプリ切り替えは、iOS アプリと Android アプリの両方に設定できます。
![この図は、ユーザーが Google アカウントを認証システムにリンクするための手順を示しています。最初のスクリーンショットは、Google アカウントがアプリにリンクされている場合に、ユーザーがアプリを選択する方法を示しています。2 番目のスクリーンショットは、Google アカウントとアプリをリンクする確認の画面です。3 番目のスクリーンショットは、Google アプリで正常にリンクされたユーザー アカウントを示しています。](https://developers-dot-devsite-v2-prod.appspot.com/static/identity/images/app-flip-flow.png?authuser=0000&hl=ja)
要件
アプリ切り替えを実装するには、次の要件を満たす必要があります。
- Android アプリまたは iOS アプリが必要です。
- OAuth 2.0 認証コードフローをサポートする OAuth 2.0 サーバーを所有、管理、保守する必要があります。
OAuth リンク認可コードフローの詳細については、OAuth サーバーを実装するをご覧ください。
設計ガイドライン
このセクションでは、アプリフリップ アカウントのリンク 同意画面の設計要件と推奨事項について説明します。Google からアプリが呼び出されると、同意画面が表示されます。
要件
- ユーザーのアカウントが特定の Google サービス(Google Home や Google アシスタントなど)ではなく、Google にリンクされていることを示す必要があります。
推奨事項
次の手順を行うことをおすすめします。
Google のプライバシー ポリシーを表示する。同意画面に Google のプライバシー ポリシーへのリンクを含めます。
共有するデータ。明確で簡潔な表現を使って、Google が必要とするデータとその理由をユーザーに伝えます。
行動を促す明確なフレーズがある。「同意してリンクする」など、行動を促す明確なフレーズを明記する。これは、ユーザーがアカウントをリンクするために Google と共有する必要があるデータを理解する必要があるからです。
解約が可能。ユーザーがリンクしない場合に、戻るかキャンセルする方法を提供する。
リンクを解除する機能。プラットフォーム上でのアカウント設定の URL など、リンクを解除するメカニズムをユーザーに提供します。あるいは、ユーザーがリンクされたアカウントを管理できる Google アカウントへのリンクを含めることもできます。
ユーザー アカウントを変更できること。ユーザーがアカウントを切り替える方法を提案する。これは、ユーザーが複数のアカウントを持つ傾向がある場合に特に役立ちます。
- ユーザーがアカウントを切り替えて同意画面を閉じる必要がある場合は、OAuth リンクと暗黙的フローを使用して、ユーザーが希望するアカウントにログインできるように、回復可能なエラーを Google に送信します。
ロゴを掲載する。同意画面に会社のロゴを表示します。 スタイル ガイドラインを使用してロゴを配置します。Google のロゴも表示する場合は、ロゴと商標をご覧ください。
![同意画面の例は、個々の同意要件と、同意画面を設計する際に従うべき推奨事項を示したものです。](https://developers-dot-devsite-v2-prod.appspot.com/static/identity/images/app-flip-guidance.png?authuser=0000&hl=ja)
OAuth ベースのアプリ切り替えを設定する
以下のセクションでは、OAuth ベースのアプリ切り替えの前提条件と、アプリ切り替えプロジェクトを Actions Console で設定する方法について説明します。
アクションを作成して OAuth 2.0 サーバーを設定する
アプリ切り替えを設定する前に、以下を行う必要があります。
- アクションを作成する。アクションを作成するには、プロジェクトの作成セクションの手順に沿って操作します。
- OAuth 2.0 サーバーを設定する。OAuth サーバーの設定の詳細については、OAuth アカウントのリンクを実装するをご覧ください。
Actions Console でアプリ切り替えを設定する
次のセクションでは、Actions Console でアプリ切り替えを構成する方法を説明します。
- 上部のナビゲーションにある [Develop](開発)をクリックし、次に、左側のナビゲーションで [アカウントのリンク] をクリックします。
- [アカウントのリンク] の横にあるスイッチをオンに切り替えます。
- [Account creation] で、[No, I only want to allow account creation on my website] を選択します。
- [次へ] をクリックします。
- [リンクタイプ] で、プルダウン メニューから [OAuth] と [認可コード] を選択します。
- [Next] をクリックします。
- [OAuth クライアント情報] の下にあるすべてのフィールドに入力します。(アプリ切り替えがサポートされていない場合は、通常の OAuth がフォールバックとして使用されます)。
- [次へ] をクリックします。
- [アプリでのアカウントのリンク(省略可)] で [iOS で有効にする] をオンにします。
- [Universal Link](ユニバーサル リンク)フィールドに入力します。ユニバーサル リンクについて詳しくは、アプリとウェブサイトのコンテンツへのリンクを許可する をご覧ください。
- 必要に応じてクライアントを構成する場合は、スコープを追加して、[Configure your client (optional)](クライアントの構成(省略可))で [Addscope](スコープを追加)をクリックします。そうでない場合は、[次へ] をクリックします。
- [テスト手順] で、プレースホルダとして「
test
」などの文字列を入力します。(このフィールドにテスト アカウントを入力する必要があるのは、公開するアクションを実際に送信する場合のみです)。 - [保存] をクリックします。
次のセクションに進んで iOS アプリまたは Android アプリにアプリ切り替えを実装できます。
ネイティブ アプリにアプリ切り替えを実装する
アプリ切り替えを実装するには、Google からのディープリンクを許可するようにアプリのユーザー認可コードを変更する必要があります。
デバイスでアプリ切り替えをテストする
アクションを作成し、コンソールとアプリでアプリ切り替えを設定したら、モバイル デバイスでアプリ切り替えをテストできます。アプリ切り替えのテストには Google アシスタント アプリを使用できます。
アシスタント アプリからアプリ切り替えをテストする手順は次のとおりです。
- Actions Console に移動して、プロジェクトを選択します。
- 上部のナビゲーションで [Test](テスト)をクリックします。
- アシスタント アプリからアカウントのリンクフローをトリガーします。
- Google アシスタント アプリを起動します。
- [設定] をクリックします。
- [アシスタント] タブで、[スマートホーム] をクリックします。
- [追加(+)] をクリックします。
- プロバイダのリストからアクションを選択します。リストの先頭に「[test]」が付きます。リストから [test] アクションを選択する場合、アプリを開く必要があります。
- アプリが起動したことを確認し、承認フローのテストを開始します。