使用 OAuth 的 App Flip 連結 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.

设计准则

本部分介绍了应用翻转账号关联同意屏幕的设计要求和建议。在 Google 调用您的应用后,您的应用会向用户显示同意屏幕。

要求

  1. 您必须告知用户,其账号将与 Google 关联,而非与 Google Home 或 Google 助理等特定 Google 产品关联。

建议

建议您执行以下操作:

  1. 显示 Google 的隐私权政策。在意见征求屏幕上添加指向 Google 隐私权政策的链接。

  2. 要分享的数据。使用简洁明了的语言告知用户 Google 需要哪些用户数据以及原因。

  3. 明确的号召性用语。在同意屏幕上提供清晰的号召性用语,例如“同意并关联”。这是因为用户需要了解他们必须与 Google 分享哪些数据才能关联其账号。

  4. 能够拒绝或取消。如果用户选择不关联,请提供一种供用户返回、拒绝或取消的方式。

  5. 能够解除关联。提供一种可供用户取消关联的机制,例如指向您平台上的账号设置的网址。或者,您也可以添加指向 Google 账号的链接,以便用户管理其关联的账号。

  6. 能够更改用户账号。建议用户切换账号的方法。如果用户倾向于使用多个账号,此功能尤其有用。

    • 如果用户必须关闭同意屏幕才能切换账号,请向 Google 发送可恢复的错误,以便用户可以通过 OAuth 关联隐式流程登录所需账号。
  7. 添加您的徽标。在权限请求页面上显示公司徽标。 根据样式指南放置徽标。如果您还想显示 Google 的徽标,请参阅徽标和商标

此图显示了一个同意屏幕示例,其中包含在设计用户同意屏幕时应遵循的各项要求和建议。
图 2. 账号关联意见征求界面设计指南。

在原生應用程式中實作 App Flip

如要實作 App Flip,您必須修改應用程式中的使用者授權碼,以便接受 Google 提供的深層連結。

如要在 Android 應用程式中支援 App Flip,請按照 Android 實作指南中的指示操作。

如要在 iOS 應用程式中支援 App Flip,請按照 iOS 實作指南中的說明操作。

測試應用程式快速連結

在提供經過驗證的正式版應用程式和正常運作的 OAuth 2.0 伺服器之前,系統可能會使用範例和測試應用程式來模擬 App Flip。

在 App Flip 期間,Google 應用程式會先開啟您的應用程式,然後向 OAuth 2.0 伺服器要求授權碼回應,在最後一個步驟中,系統會將回應傳回 Google 應用程式。

必要條件

如要模擬 Google 應用程式並觸發啟動應用程式的意圖,請下載並安裝 AndroidiOS 適用的 App Flip Test Tool。

下載並安裝適用於 AndroidiOS 的 App Flip 範例,以模擬應用程式並選取 OAuth 2.0 回應類型。

測試序列

  1. 開啟應用程式翻轉測試工具。
  2. 按下 Try Flip! 即可啟動 App Flip 範例應用程式。
  3. 從「Sample」應用程式中的圓形按鈕選取回應。
  4. 按下 Send 即可將模擬的 OAuth 2.0 回應傳回至測試工具。
  5. 請查看測試工具記錄訊息,找出 auth_code 或錯誤詳細資料。

正式版測試

完成註冊程序和 OAuth 2.0 伺服器實作後,您可以在實際工作環境中測試 App Flip。

建議使用單一 Google 帳戶和工作專屬電子郵件地址進行自動化測試。

以 Google 帳戶持有人身分登入後,您可以使用「已連結的帳戶」查看帳戶連結狀態。您也可以在這裡取消連結帳戶,以便重複測試。

您也可以選擇導入 RISC,透過程式碼取消連結,並通知 Google 這項變更。