無周邊身分驗證 API:將無周邊來賓流程延伸至已命名使用者流程
當您在平台外應用程式中完成無周邊來賓流程時,您會取得來賓 JWT 型存取權杖,其中鑄有使用者的唯一訪客識別碼 (UVID)。若要將 UVID 及其所有的相關內容帶入至已命名使用者工作階段,您可以將 UVID 傳遞至新的授權流程,例如無周邊登入或註冊流程。
必要版本
| 提供版本:Salesforce Classic (並非所有組織皆適用) 和 Lightning Experience |
| 提供版本:Enterprise、Unlimited 及 Developer 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 純文字值
- 在
- Salesforce 會完成已命名使用者流程,並核發具有 UVID 的 JWT 型存取權杖。不同於來賓權杖,其 UVID 位於主體宣告中,已命名使用者權杖在代表 (
obo) 宣告中具有 UVID。在已命名使用者 JWT 型權杖中,主體宣告會儲存使用者識別碼。此時,UVID 會從使用者第一次造訪應用程式的時間起,持續到其登入的時間止 (4)。 - 您的應用程式會收到具有 UVID 的存取權杖 (5)。
- 已命名使用者現在已登入,並要求存取受保護的 Salesforce 資料 (6)。
- 透過 JWT 型存取權杖,使用者即可存取受保護的 Salesforce 資源 (7)。
