使用 SLAS 私人用戶端
Shopper Login and API Access (SLAS) API 用戶端允許您的應用程式對購物者進行驗證和授權。SLAS 用戶端有兩種類型:公用用戶端和私人用戶端。
與公用用戶端相比,SLAS 私人用戶端具有多項優勢,包括:
- 預先授權訪客購物者要求存取商店,從而加快頁面載入速度。
- 允許使用 SLAS 公用用戶端不可用的功能,包括無密碼登入、密碼重設。請參閱私人 SLAS 用戶端使用案例。
若要利用 SLAS 私人用戶端,專案必須能夠安全地儲存用戶端密碼。
如果專案在用戶端執行且必須直接與 SLAS 通訊,請考慮使用公用用戶端。
PWA Kit 3.5 及更高版本支援使用 SLAS 公用用戶端和私人用戶端。
PWA Kit 3.5 之前的所有 PWA 版本僅支援 SLAS _公用_用戶端。
如果您現有的 PWA Kit 網站使用 SLAS 公用用戶端,我們鼓勵您繼續閱讀並考慮切換為私人用戶端。
在執行本指南的命令之前,請以實際值取代預留位置。預留位置的格式如下:$PLACEHOLDER。
使用私人用戶端時,應注意不要將用戶端密碼暴露給購物者和用戶端瀏覽器。
為協助保護用戶端密碼,PWA Kit Retail React App 透過使用環境變數,將密碼儲存在伺服器端。想瞭解如何儲存用戶端密碼,請參閱設定環境變數。
概括而言,您將執行以下操作來為 PWA Kit 網站設定 SLAS 私人用戶端。
- 建立 SLAS 私人用戶端
- 設定 PWA Kit
- 設定環境變數
首先,請完成Shopper API 授權和設定 API 存取中的指示,建立您的 SLAS 私人用戶端。
建立 SLAS 私人用戶端後,請按照以下步驟,將其用於 PWA Kit 網站:
- 更新到 PWA Kit v3.5 或更高版本。
- 在
ssr.js
中,將傳遞給runtime.createHandler
的選項的useSLASPrivateClient
屬性設定為true
: - 在
_app-config/index.js
中,將<CommerceAPIProvider>
的enablePWAKitPrivateClient
prop 設為true
。 - 在 PWA Kit 設定檔中,將 commerceAPI clientId 設定為 SLAS 私人用戶端 ID。
- 在您的環境中,將
PWA_KIT_SLAS_CLIENT_SECRET
環境變數設定為您的 SLAS 私人用戶端密碼。
- 在 PWA Kit 設定檔中,將 commerceAPI clientId 設定為 SLAS 私人用戶端 ID。
- 在您的環境中,將
PWA_KIT_SLAS_CLIENT_SECRET
環境變數設定為您的 SLAS 私人用戶端密碼。
執行以下命令,以在使用中命令提示字元中本機設定 PWA_KIT_SLAS_CLIENT_SECRET
環境變數:
- 在 Mac / Unix 上,執行
export PWA_KIT_SLAS_CLIENT_SECRET=$YOUR_CLIENT_SECRET
- 在 Windows 上,執行
set PWA_KIT_SLAS_CLIENT_SECRET=$YOUR_CLIENT_SECRET
在本機開發環境中,您需要更永久地設定 PWA_KIT_SLAS_CLIENT_SECRET
,以便在開啟新的命令提示字元時,將其自動包含。
在 Mac / Unix 上,您可以在電腦的 .bashrc
檔案中設定 PWA_KIT_SLAS_CLIENT_SECRET
環境變數,來完成此操作。
在 Windows 上,您可以在 [控制台] -> [系統] -> [進階] -> [環境變數] 設定 PWA_KIT_SLAS_CLIENT_SECRET
環境變數,來完成此操作。
如果您在 Managed Runtime 上遠端執行 PWA Kit 網站,則可以在替換變數以與您的環境相符後,在終端機中執行以下命令來設定 PWA_KIT_SLAS_CLIENT_SECRET
環境變數。
想進一步瞭解如何取得 Managed Runtime API 金鑰與遠端環境的其他屬性,請參閱我們的推送和部署套件指南。
如需更多資訊,請參閱環境變數。
除了上述的 PWA Kit 設定步驟之外,在同時使用 PWA Kit 和 SFRA 的分階段推出網店中,您還需要更新 Plugin SLAS 以使用您的 SLAS 私人用戶端。有關如何設定 SLAS 私人用戶端以與 SFRA 配合使用的說明,請參閱 Plugin SLAS readme。
如果您要擴大 PWA Kit 實作以使用需要私人用戶端 (例如無密碼登入) 的其他 SLAS 端點,則可以使用 runtime.createHandler
的 applySLASPrivateClientToEndpoints
選項來擴大可用的端點集:
-
如果您看到對 SLAS /authorize 的 HTTP 400 呼叫,則 PWA Kit 網站正在使用 SLAS 公用用戶端流程和您的私人用戶端 ID。在
_app-config/index.js
檔案中,將 CommerceAPIProvider 內的enablePWAKitPrivateClient
prop 設為true
。 -
在本機開發環境中,如果
ssr.js
中啟用了useSLASPrivateClient
屬性且未設定PWA_KIT_SLAS_CLIENT_SECRET
環境變數,則 PWA Kit 伺服器將無法啟動。將環境變數設定為 SLAS 用戶端密碼以繼續。 -
將 PWA Kit 網站部署到 Managed Runtime 後,如果您在呼叫 SLAS 時看到 HTTP 501 錯誤,則可能表示
PWA_KIT_SLAS_CLIENT_SECRET
環境變數尚未設定。設定後,請等待幾分鐘以套用變更。