OAuthベースのアプリフリップとのGoogleアカウントのリンク

OAuth-based App Flip Linking (App Flip) allows your users to easily and quickly link their accounts in your authentication system to their Google accounts. If your app is installed on your user’s phone when they initiate the account linking process, they are seamlessly flipped to your app to obtain user authorization.

This approach provides a faster and easier linking process since the user does not have to re-enter their username and password to authenticate; instead, App Flip leverages the credentials from the user's account on your app. Once a user has linked their Google account with your app, they can take advantage of any integrations that you have developed.

You can set up App Flip for both iOS and Android apps.

This figure shows the steps for a user to link their Google account
            to your authentication system. The first screenshot shows how a user
            can select your app if their Google account is linked to your app.
            The second screenshot shows the confirmation for linking their
            Google account with your app. The third screenshot shows a
            successfully linked user account in the Google app.
Figure 1. Account linking on a user's phone with App Flip.

Requirements

To implement App Flip, you must fulfill the following requirements:

  • You must have an Android or iOS app.
  • You must own, manage and maintain an OAuth 2.0 server which supports the OAuth 2.0 authorization code flow.

設計ガイドライン

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

要件

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

推奨事項

次のことを行うことをお勧めします。

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

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

  3. 召喚状を明確にします。 「同意してリンクする」など、同意画面に明確な召喚状を記載します。これは、ユーザーがアカウントをリンクするためにGoogleと共有する必要があるデータを理解する必要があるためです。

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

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

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

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

この図は、ユーザーの同意画面を設計するときに従うべき個々の要件と推奨事項への呼び出しを含む同意画面の例を示しています。
図2.アカウントリンク同意画面の設計ガイドライン。

ネイティブアプリにアプリフリップを実装する

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

AndroidアプリでAppFlipをサポートするには、 Android実装ガイドの手順に従ってください。

iOSアプリでAppFlipをサポートするには、 iOS実装ガイドの手順に従ってください。

アプリフリップをテストする

アプリフリップは、検証済みの本番アプリと動作するOAuth 2.0サーバーが利用可能になる前に、サンプルアプリとテストアプリを使用してシミュレートできます。

アプリフリップ中に、Googleアプリは最初にアプリを開き、次にOAuth 2.0サーバーから認証コードの応答を要求します。最後のステップで、応答はGoogleアプリに返されます。

前提条件

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

AndroidおよびiOS用のアプリフリップサンプルをダウンロードしてインストールします。アプリをシミュレートしてOAuth2.0応答タイプを選択します。

テストシーケンス

  1. アプリフリップテストツールを開きます。
  2. Try Flip!押してTry Flip! App FlipSampleアプリを起動します。
  3. サンプルアプリのラジオボタンから応答を選択します。
  4. [ Sendを押して、シミュレートされたOAuth2.0応答をテストツールに戻します。
  5. テストツールのログメッセージで、auth_codeまたはエラーの詳細を確認してください。

生産テスト

App Flipは、登録とOAuth 2.0サーバーの実装が完了した後、本番環境でテストされる場合があります。

自動テストには、単一のGoogleアカウントとタスク固有のメールアドレスをお勧めします。

アカウントのリンク状態は、Googleアカウントの所有者としてサインインすると、リンクされたアカウントを使用して表示できます。アカウントは、ここから繰り返されるテスト間でもリンクが解除される場合があります。

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