選擇帳戶連結類型

您的動作最常用的帳戶連結類型,是為使用者提供最快速的體驗,且符合您的應用程式或業務需求。選擇連結類型主要取決於下列因素:

  • 是否允許透過語音建立帳戶
  • 是否允許使用者以非 Google 帳戶登入服務
  • 服務是否可儲存機密資訊 (即用戶端密鑰)

如要瞭解適用的帳戶連結類型,請按照下列步驟操作:

  1. 請參閱找出您偏好的登入類型一節中的問題。
  2. 請參閱決策樹,並選擇連結類型。
  3. 前往與您選擇的初始類型對應的部分,進一步調整運作方式。

找出您偏好的登入類型

進行決策樹狀圖前,請思考以下問題:

  • 您是否預期所有使用者擁有 Google 帳戶?
    • 如果您的動作只指定 Google 助理,則所有使用者都會擁有 Google 帳戶。如果您的動作指定 Google 助理以外的平台,就表示所有使用者都無法擁有 Google 帳戶。
    • 如果您的服務已經有使用者,可能是因為他們沒有 Google 帳戶或未使用 Google 帳戶登入服務。
  • 如果您已實作 OAuth 實作,是否可以延長 VPN 的支援,以便使用 Google 通訊協定?
    • 如要支援 Google 通訊協定,您必須能夠將 intent=getintent=create 功能新增至權杖交換端點。這項功能可讓 Google 檢查使用者是否已存在於您的後端中,並分別要求在服務中建立新帳戶。

請按照下方的決策樹狀圖,找出最適合您和使用者的帳戶連結類型:

選取連結類型後,請繼續參閱下方各節,進一步瞭解其運作方式,並進一步決定帳戶連結的運作方式。

以 OAuth 為基礎的 Google 登入「簡化」連結

簡化的連結類型除了以 OAuth 為基礎的帳戶連結之外,還多了 Google 登入 (GSI) 可帶來 GSI 的優勢 (例如 Google 使用者的語音連結功能),同時也為非 Google 帳戶的使用者註冊您的服務。這種連結類型特別有利於使用者,因為 Google 使用者可以為非 Google 使用者提供備用機制。如要進一步瞭解簡化連結的運作方式,請參閱 OAuth 式 Google 登入「簡化」連結概念指南

修正以 OAuth 為基礎的 Google 登入「簡化」連結類型

在動作中使用簡化連結類型時,您必須在 Actions 控制台中指定下列問題的答案,藉此定義運作方式:

  1. 您要啟用語音帳戶建立,還是僅允許在網站上建立帳戶?

    一般而言,我們建議您透過語音啟用帳戶建立功能,讓非螢幕裝置的使用者不必建立帳戶,就能建立帳戶。如果您不允許透過語音建立帳戶,Google 助理會開啟您提供使用者驗證的網站網址,並將使用者導向電話,以便繼續連結帳戶流程。

    但是,如果發生下列任一情況,請勿透過語音建立帳戶:

    1. 您必須完全掌控帳戶建立流程。例如,您可能需要在建立帳戶或向使用者顯示其他類型的通知時,向使用者顯示服務條款。
    2. 您想確保擁有其他帳戶的使用者透過該帳戶登入。例如,如果您提供會員方案,且不希望使用者失去帳戶中的累積點數,則建議繼續使用現有帳戶。
  2. 您要使用授權碼流程或隱含流程?

    授權碼流程和隱含流程不同,表示授權碼流程需要第二個端點,也就是權杖交換端點。此端點使用更新憑證來產生新的短效存取權杖,而不必提示使用者再次登入。

    反之,如果您使用隱含流程,會向 Google 傳回長效存取權杖,通常不需要重新產生。如要進一步瞭解授權碼和隱含流程,請參閱 OAuth 式 Google 登入「簡化」連結概念指南

    Google 建議在動作中使用授權碼流程,因為這項機制更安全。不過,如果您的服務無法儲存機密資訊 (即用戶端密鑰),請改用隱含流程。舉例來說,您必須在公開用戶端 (SPA) 等公開用戶端使用隱含流程。

考量過這些決策點後,請參考以下決策樹:

Google 登入

使用 Google 登入 (GSI) 連結類型時,您的動作可在對話期間要求使用者的 Google 設定檔存取權,並使用設定檔資訊,檢查使用者是否在服務後端中。如果使用者不存在,則可以透過其 Google 設定檔資訊,在您的系統中建立新帳戶。

如為 GSI,則必須透過語音建立帳戶,讓使用者可透過語音完成整個流程。如要進一步瞭解 GSI,請參閱 Google 登入概念指南

OAuth 連結

使用 OAuth 連結類型時,使用者會透過標準 OAuth 2.0 流程登入。OAuth 連結類型支援兩種符合業界標準的 OAuth 2.0 流程:隱含授權代碼流程。

Google 不建議使用 OAuth 連結類型,因為如果使用者是在非螢幕裝置上,則必須從語音傳輸到螢幕,才能完成登入程序。如果您目前已經實作 OAuth 2.0 伺服器,可以考慮使用這個流程,但無法擴充權杖交換端點,以支援 Google 通訊協定自動連結,以及透過 ID 權杖建立帳戶。詳情請參閱 OAuth 連結概念指南

修正流程

在動作中使用 OAuth 連結類型時,您必須在 Actions 主控台指定下列問題的答案,藉此定義運作方式:

  1. 您要使用授權碼流程或隱含流程?

    OAuth 連結類型支援兩種符合業界標準的 OAuth 2.0 流程:隱含授權代碼流程。授權碼流程和隱含流程不同,授權碼流程需要第二個端點,也就是權杖交換端點。此端點使用更新權杖來產生新的短效存取權杖,而不必提示使用者再次登入。

    反之,如果您使用隱含流程,會向 Google 傳回長效存取權杖,通常不需要重新產生。如要進一步瞭解授權碼和隱含流程,請參閱 OAuth 連結概念指南

    Google 建議在動作中使用授權碼流程,因為這項機制更安全。不過,如果您的服務無法儲存機密資訊 (即用戶端密鑰),請改用隱含流程。舉例來說,您必須在公開用戶端 (SPA) 等公開用戶端使用隱含流程。