最適合您的動作帳戶連結類型,是為使用者提供最簡便的體驗,且符合應用程式或業務的需求。選擇連結類型主要取決於下列因素:
- 是否允許透過語音建立帳戶
- 是否允許使用者透過非 Google 帳戶登入您的服務
- 您的服務是否可儲存機密資訊 (亦即用戶端密鑰)
若要找出理想的帳戶連結類型,請按照下列步驟進行:
- 請參閱「識別您偏好的登入類型」一節中的問題。
- 參考決策樹狀圖來選擇連結類型。
- 找出與您選擇的初始類型相對應的區段,以進一步調整其運作方式。
找出您偏好的登入類型
查詢決策樹狀圖前,請思考以下問題:
- 您是否預期所有使用者擁有 Google 帳戶?
- 如果動作只指定 Google 助理,您就可以預期所有使用者擁有 Google 帳戶。如果動作是以 Google 助理以外的平台為目標,您不能讓所有使用者擁有 Google 帳戶。
- 如果您的服務已有使用者,他們可能沒有 Google 帳戶或並未以 Google 帳戶登入您的服務。
- 如果您有 OAuth 實作,可以將其擴充為支援 Google 通訊協定嗎?
- 如要支援 Google 通訊協定,您需要能夠將
intent=get
和intent=create
功能新增至權杖交換端點。這項功能可讓 Google 檢查使用者是否已在後端中,並要求在您的服務中分別建立新帳戶。
- 如要支援 Google 通訊協定,您需要能夠將
請根據以下的決策樹狀圖找出適合您和使用者的帳戶連結類型:
選取連結類型後,請繼續閱讀下方的對應部分,進一步瞭解其運作方式,並進一步決定帳戶連結在動作的運作方式。
OAuth 型 Google 登入的「精簡」連結
簡化連結類型可在 OAuth 帳戶連結之外新增 Google 登入 (GSI),提供 GSI 的優點 (例如 Google 使用者的語音連結功能),也能為透過非 Google 帳戶註冊服務的使用者啟用帳戶連結功能。這種連結類型對使用者特別有利,因為 Google 使用者為非 Google 使用者提供了備用的流程。如要進一步瞭解簡化連結的運作方式,請參閱 OAuth 式 Google 登入「簡化」連結概念概念指南。
修正以 OAuth 為基礎的 Google 登入「簡化」連結類型
使用操作中的簡化連結類型時,您必須在動作主控台中指定下列問題的答案,以定義其運作方式:
您要啟用語音帳戶建立,還是只允許網站上的帳戶建立?
一般來說,您需要透過語音啟用帳戶,這樣非螢幕裝置的使用者就能順利建立帳戶,無需轉移到其他裝置。如果您不允許透過語音建立帳戶,Google 助理會開啟您提供使用者驗證的網站網址,並將使用者導向手機以繼續帳戶連結連結。
如果符合下列任一情況,就不應允許透過語音建立帳戶:
- 您必須完整掌控帳戶建立流程。例如,您在建立帳戶或其他類型的通知時,可能需要向使用者顯示服務條款。
- 您想確保已有帳戶擁有該帳戶的使用者登入。舉例來說,如果您提供會員方案,且不希望使用者失去自己帳戶累積的點數,就可能會希望使用者繼續使用現有的帳戶。
您要使用授權碼流程或隱含流程嗎?
授權碼流程和隱含流程的差別在於,授權碼流程需要第二個端點,也就是憑證交換端點。此端點使用「重新整理符記」產生新的短期存取權杖,而不會提示使用者再次登入。
反之,如果您使用隱含流程,則需要將長效的存取憑證傳回 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 伺服器的既有實作流程,可以考慮使用這個流程,且不能擴充憑證交換端點,以新增對 ID 憑證支援 Google 自動連結和建立帳戶的通訊協定的支援。詳情請參閱 OAuth 連結概念指南。
修正流程
在您的操作中使用 OAuth 連結類型時,您必須在操作控制台中回答以下問題的答案,以定義其運作方式:
您要使用授權碼流程或隱含流程嗎?
OAuth 連結類型支援兩種業界標準 OAuth 2.0 流程:隱含與授權程式碼流程。授權碼流程和隱含流程的差別在於,授權碼流程需要第二個端點,也就是憑證交換端點。此端點使用重新整理憑證來產生新的短期存取憑證,而不會提示使用者再次登入。
反之,如果您使用隱含流程,則需要將長效的存取憑證傳回 Google,通常不需要重新產生。如要進一步瞭解授權碼與隱含流程,請參閱 OAuth 連結概念指南。
Google 建議您使用「操作程式碼流程」,因為這樣可以更安全。不過,如果您的服務無法儲存機密資訊 (即用戶端密鑰),請改用隱含流程。例如,您必須使用公開用戶端 (例如單頁應用程式 (SPA)) 的隱含流程。