Loading
識別使用者與管理存取
無周邊身分驗證 API:將無周邊來賓流程延伸至已命名使用者流程

無周邊身分驗證 API:將無周邊來賓流程延伸至已命名使用者流程

當您在平台外應用程式中完成無周邊來賓流程時,您會取得來賓 JWT 型存取權杖,其中鑄有使用者的唯一訪客識別碼 (UVID)。若要將 UVID 及其所有的相關內容帶入至已命名使用者工作階段,您可以將 UVID 傳遞至新的授權流程,例如無周邊登入或註冊流程。

必要版本

提供版本:Salesforce Classic (並非所有組織皆適用) 和 Lightning Experience
提供版本:EnterpriseUnlimitedDeveloper Edition

透過為您的使用者維護內容,您便可以開啟您應用程式的強大功能。例如,您在 Salesforce 平台外主控一個電子商務應用程式。在您的應用程式中,使用者必須登入才能儲存並購買項目。您想要讓使用者能夠在不登入的情況下儲存項目,藉此吸引更多的購物者。透過來賓使用者流程,您可設定應用程式產生在使用者登入之前可唯一識別使用者的 UVID。對您的應用程式進行一些變更,使用者現在即可瀏覽產品,且無須登入便能將項目儲存至手推車。當使用者選擇購買項目時,應用程式會提示使用者登入或註冊。登入流程期間,應用程式會將 UVID 傳遞至「授權代碼和認證流程」的已命名使用者版本。由於 UVID 與手推車繫結,因此使用者在登入後能夠看到儲存的手推車項目,進而提供更好的使用者體驗。

您可以將同一個流程套用至其他使用個案,例如同意 Cookie。例如,使用者造訪您的應用程式並接受 Cookie 同意橫幅,以建立其他 Cookie。您可以將此 Cookie 與 UVID 繫結,並用於儲存使用者的相關資訊,例如其同意偏好設定以及使用者已接受橫幅。當使用者登入時,您會接管 UVID 並記住其偏好設定,進而建立能更進一步自訂且較不繁瑣的體驗。

透過為來賓使用者提供內容,您可以建構從其第一次造訪開始,直至註冊為止,他們經歷您應用程式整個過程的完貌。在應用程式分析工具的協助之下,此資訊可協助您瞭解使用者偏好的體驗種類,以及促使他們建立帳戶的因素。

您可以將 UVID 傳遞至「授權代碼和認證流程」和 OAuth 2.0 Web 伺服器流程的所有變化。這些流程共用 OAuth 2.0 授權代碼授與類型的通用模式,在此應用程式會向 Salesforce 要求授權代碼,並將其交換成存取權杖。以下是您可以使用 UVID 的已命名使用者流程完整清單。

  • 透過「授權代碼和認證流程」進行無周邊使用者名稱-密碼登入
  • 無周邊註冊流程
  • 無周邊無密碼登入流程
  • Web 伺服器流程
  • 混合式 Web 伺服器流程
  • 混合式應用程式重新整理權杖流程

只有前三個流程可以無周邊方式使用,因此如果您想要將實作保持為無周邊,請避免使用 Web 伺服器流程變化。

此圖顯示您如何使用 UVID 將 JWT 型存取權杖傳遞至已命名使用者授權流程的概況。

顯示來賓使用者流程延伸版本的順序圖
  • 在此圖開始處,來賓流程便已完成。例如,使用者已在瀏覽應用程式,但尚未登入。使用者具有一個來賓工作階段,其與以 JWT 型存取權杖傳回的 UVID 值繫結 (1)。
  • 來賓使用者決定要註冊或登入。例如,他們想要購買某個項目,因此您的應用程式會提示他們註冊。或者他們按一下需要存取受保護資料的按鈕,例如其訂單歷程記錄 (2)。
  • 您的應用程式具有來自來賓工作階段的 UVID 值,因此當使用者登入時,會將 UVID 傳遞至已命名使用者授權流程,例如使用「授權代碼和認證流程」進行無周邊登入。此應用程式有三個選項可傳遞 UVID。
    • Uvid-Hint 標頭中包含具有 UVID 的來賓 JWT 型存取權杖。針對從來賓流程發出的權杖,UVID 位於主體 (sub) 宣告中。
    • Uvid-Hint 標頭中包含 UVID 純文字值
    • uvid-hint 內文參數中包含 UVID 純文字值
    3).
  • Salesforce 會完成已命名使用者流程,並核發具有 UVID 的 JWT 型存取權杖。不同於來賓權杖,其 UVID 位於主體宣告中,已命名使用者權杖在代表 (obo) 宣告中具有 UVID。在已命名使用者 JWT 型權杖中,主體宣告會儲存使用者識別碼。此時,UVID 會從使用者第一次造訪應用程式的時間起,持續到其登入的時間止 (4)。
  • 您的應用程式會收到具有 UVID 的存取權杖 (5)。
  • 已命名使用者現在已登入,並要求存取受保護的 Salesforce 資料 (6)。
  • 透過 JWT 型存取權杖,使用者即可存取受保護的 Salesforce 資源 (7)。
 
正在載入
Salesforce Help | Article