Google Account Linking with OAuth-based App Flip

借助基于 OAuth 的应用快速关联(应用快速关联),您的用户可以轻松地将其在身份验证系统中的帐号关联到其 Google 帐号。如果您的应用在用户启动帐号关联流程时安装在用户手机上,则可以无缝同步到您的应用以获取用户授权。

此方法可让用户更快、更轻松地完成关联流程,因为用户无需重新输入用户名和密码进行身份验证;而应用快速关联可利用您应用中的用户帐号的凭据。用户将其 Google 帐号与您的应用关联后,他们即可利用您开发的任何集成。

您可以为 iOS 和 Android 应用设置应用快速关联。

此图显示了用户将其 Google 帐号与身份验证系统关联的步骤。第一张屏幕截图显示了在用户的 Google 帐号与您的应用相关联的情况下,用户如何选择您的应用。第二张屏幕截图显示了将 Google 帐号与应用相关联的确认信息。第三张屏幕截图显示了 Google 应用中已成功关联的用户帐号。
图 1.使用应用快速关联功能在用户的手机上关联帐号。



  • 您必须拥有 Android 或 iOS 应用。
  • 您必须拥有、管理和维护支持 OAuth 2.0 授权代码流的 OAuth 2.0 服务器。

Design guidelines

This section describes the design requirements and recommendations for the App Flip account linking consent screen. After Google calls your app, your app displays the consent screen to the user.


  1. You must communicate that the user’s account is being linked to Google, not to a specific Google product, such as Google Home or Google Assistant.


We recommend that you do the following:

  1. Display Google's Privacy Policy. Include a link to Google’s Privacy Policy on the consent screen.

  2. Data to be shared. Use clear and concise language to tell the user what data of theirs Google requires and why.

  3. Clear call-to-action. State a clear call-to-action on your consent screen, such as “Agree and link.” This is because users need to understand what data they're required to share with Google to link their accounts.

  4. Ability to cancel. Provide a way for users to go back or cancel, if they choose not to link.

  5. Ability to unlink. Offer a mechanism for users to unlink, such as a URL to their account settings on your platform. Alternatively, you can include a link to Google Account where users can manage their linked account.

  6. Ability to change user account. Suggest a method for users to switch their account(s). This is especially beneficial if users tend to have multiple accounts.

    • If a user must close the consent screen to switch accounts, send a recoverable error to Google so the user can sign in to the desired account with OAuth linking and the implicit flow.
  7. Include your logo. Display your company logo on the consent screen. Use your style guidelines to place your logo. If you wish to also display Google's logo, see Logos and trademarks.

This figure shows an example consent screen with call-outs to the
            individual requirements and recommendations to be followed when
            you design a user consent screen.
Figure 2. Account linking consent screen design guidelines.

Implement App Flip in your native apps

To implement App Flip, you need to modify the user authorization code in your app to accept a deep link from Google.

To support App Flip on your Android app, follow the instructions on the Android implementation guide.

To support App Flip on your iOS app, follow the instructions on the iOS implementation guide.

Test App Flip

App Flip may be simulated using sample and test apps before verified production apps and a working OAuth 2.0 server are available.

During App Flip a Google app will first open your app which then requests an authorization code response from your OAuth 2.0 server, in the final step the response is returned to the Google app.


To simulate a Google app and trigger the intent which launches your app, download and install the App Flip Test Tool for Android and iOS.

Download and install the App Flip Sample for Android and iOS To simulate your app and select an OAuth 2.0 response type.

Test sequence

  1. Open the App Flip Test Tool.
  2. Press Try Flip! to launch your App Flip Sample app.
  3. Select a response from the radio buttons in the Sample app.
  4. Press Send to return a simulated OAuth 2.0 response back to the Test Tool.
  5. Check the Test Tool log messages for an auth_code or error details.

Production testing

App Flip may be tested in production after completing registration and your OAuth 2.0 server implementation.

A single Google Account and a task specific email address are recommended for automated testing.

Accounts linking state can be viewed using Linked accounts when signed in as the Google Account holder. Accounts may be unlinked between repeated tests from here as well.

Optionally, you may choose to implement RISC to programmatically unlink and notify Google of the change.