總覽

基于 OAuth 的应用快速关联 (App Flip) 关联功能可让用户快速将其在您的身份验证系统中的账号关联到其 Google 账号。 如果用户在发起账户关联过程时手机上已安装您的应用,系统会顺畅地将他们转到您的应用以获取用户授权。

这种方法可提供更快的账户关联过程,因为用户无需重新输入用户名和密码进行身份验证;相反,App Flip 会利用用户在您的应用中的账号凭据。用户将其 Google 账号与您的应用关联后,便可利用您开发的任何集成。

您可以为 iOS 和 Android 应用设置 App Flip。

此图显示了用户将其 Google 账号与您的身份验证系统相关联的步骤。第一张屏幕截图显示了用户如何选择您的应用(如果其 Google 账号已与您的应用相关联)。第二张屏幕截图显示了用户将其 Google 账号与您的应用相关联的确认信息。第三张屏幕截图显示了 Google 应用中已成功关联的用户账号。
图 1.用户手机上使用 App Flip 进行账号关联。

要求

如需实现 App Flip,您必须满足以下要求:

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

基于 OAuth 的 App Flip 流程

以下序列图详细说明了用户、Google 应用、您的应用和您的授权服务器之间针对 App Flip 的交互。

用户 Google 应用 您的应用 Google 服务器 您的授权 服务器 1. 发起关联 2. 深层链接到您的应用 3. 显示意见征求屏幕 4. 用户授予意见征求 5. 获取授权代码 6. authorization_code 7. 返回到 Google 应用 8. 将代码传递给 Google 服务器 9. 令牌交换 (POST) 10. access_token, refresh_token 11. 存储用户令牌 12. 访问用户资源
图 2.App Flip 流程中的事件序列。 如果提供了授权代码,则令牌交换将以 服务器到服务器的方式进行,与基于浏览器的 OAuth 关联流程中的方式相同。

角色和职责

下表定义了 App Flip 流程中执行者的角色和职责。

执行者 / 组件 GAL 角色 职责
Google 应用 / 服务器 OAuth 客户端 发起账户关联过程,触发到您的移动应用深层链接,将授权代码交换为令牌,并安全地存储这些令牌以访问您服务的 API。
您的应用 授权代理 对用户进行身份验证(通常使用现有应用凭据), 获取意见征求,并从您的服务器检索授权代码。
您的授权服务器 授权服务器 验证授权代码和刷新令牌,并向 Google 服务器颁发访问 令牌。

如要進一步瞭解 OAuth 連結授權碼流程,請參閱「實作 OAuth 伺服器」。

設計指南

本節說明應用程式切換帳戶連結同意畫面的設計規定和建議。Google 呼叫應用程式後,應用程式會向使用者顯示同意畫面。

需求條件

  1. 請務必告知使用者,帳戶將連結至 Google,而非 Google Home 或 Google 助理等特定 Google 產品。

建議

建議您採取下列做法:

  1. 顯示 Google 隱私權政策。 在同意畫面中加入 Google 隱私權政策的連結。

  2. 要分享的資料。請使用簡潔明瞭的用語,告知使用者 Google 需要哪些資料,以及原因。

  3. 明確的行動號召。在同意聲明畫面中提供明確的行動號召,例如「同意並連結」。這是因為使用者必須瞭解連結帳戶時,需要與 Google 分享哪些資料。

  4. 可拒絕或取消。如果使用者選擇不連結,請提供返回、拒絕或取消的方法。

  5. 可取消連結。提供使用者取消連結的機制,例如平台帳戶設定的網址。或者,您也可以加入 Google 帳戶的連結,讓使用者管理已連結的帳戶。

  6. 可變更使用者帳戶。建議使用者切換帳戶的方法。如果使用者通常有多個帳戶,這項功能就特別實用。

    • 如果使用者必須關閉同意畫面才能切換帳戶,請將可復原的錯誤傳送給 Google,讓使用者透過 OAuth 連結隱含流程登入所需帳戶。
  7. 加入您的標誌。在同意畫面上顯示公司標誌。 請按照樣式指南放置標誌。如要顯示 Google 標誌,請參閱「標誌和商標」一文。

這張圖顯示同意畫面範例,並標示設計使用者同意畫面時應遵循的個別規定和建議。
圖 2. 帳戶連結同意畫面設計指南。

設定以 OAuth 為基礎的應用程式切換功能

以下章節說明 OAuth 型應用程式切換的必要條件,以及如何在 Actions 控制台中設定應用程式切換專案。

建立動作並設定 OAuth 2.0 伺服器

設定應用程式切換功能前,請先完成下列事項:

  • 建立動作。如要建立動作,請按照「建立專案」一節的指示操作。
  • 設定 OAuth 2.0 伺服器。如要進一步瞭解如何設定 OAuth 伺服器,請參閱「實作 OAuth 帳戶連結」。

在 Actions 控制台中設定應用程式切換

下一節說明如何在 Actions 控制台中設定應用程式切換功能。

  1. 按一下頂端導覽列中的「開發」。然後按一下左側導覽中的「帳戶連結」
  2. 將「帳戶連結」旁邊的切換鈕設為開啟。
  3. 在「帳戶建立」下方,選取「否,我只想允許在我的網站上建立帳戶」
  4. 點選 [下一步]。
  5. 在「連結類型」下方,從下拉式選單中選取「OAuth」和「授權碼」
  6. 按一下「繼續」。
  7. 填寫「OAuth 用戶端資訊」下方的所有欄位。 (如果系統不支援應用程式切換,會改用一般 OAuth)。
  8. 點選 [下一步]。
  9. 在「使用應用程式連結帳戶 (選用)」下方,勾選「為 iOS 啟用」
  10. 填寫「通用連結」欄位。如要進一步瞭解通用連結,請參閱「允許應用程式和網站連結至您的內容 」。
  11. 如要視需要設定用戶端,請新增範圍,然後按一下「設定用戶端 (選用)」下方的「新增範圍」。 如果沒有,請按一下「下一步」
  12. 在「測試說明」下方,輸入 test (或其他任何字串) 做為預留位置。(只有在您實際提交要發布的動作時,才需要填寫這個欄位。)
  13. 按一下 [儲存]

現在可以繼續前往下一節,在 iOS 或 Android 應用程式中導入 App Flip。

在原生應用程式中導入 App Flip

如要導入應用程式切換功能,您必須修改應用程式中的使用者授權碼,接受來自 Google 的深層連結。

在裝置上測試應用程式切換功能

您已在管理中心和應用程式中建立動作並設定應用程式切換功能,現在可以在行動裝置上測試這項功能。您可以使用 Google 助理應用程式測試應用程式切換功能。

如要透過 Google 助理應用程式測試應用程式切換功能,請按照下列步驟操作:

  1. 前往 Actions 控制台,然後選取專案。
  2. 按一下頂端導覽列中的「測試」
  3. 從 Google 助理應用程式觸發帳戶連結流程:
    1. 開啟 Google 助理應用程式
    2. 按一下 [設定]。
    3. 在「Google 助理」分頁中,按一下「居家控制系統」
    4. 按一下「新增」(+)
    5. 從供應商清單中選取所需動作。清單中會以「[測試]」為前置字元。從清單中選取 [測試] 動作時,應用程式應會開啟。
    6. 確認應用程式已啟動,並開始測試授權流程。