此文已使用 Salesforce 機器翻譯系統翻譯。更多詳細資料請參見此處。
Shopper Login and API Access (SLAS) API 用戶端允許您的應用程式對購物者進行驗證和授權。SLAS 用戶端有兩種類型:公用用戶端和私人用戶端。
與公用用戶端相比,SLAS 私人用戶端具有多項優勢,包括:
若要利用 SLAS 私人用戶端,專案必須能夠安全地儲存用戶端密碼。
如果專案在用戶端執行且必須直接與 SLAS 通訊,請考慮使用公用用戶端。
PWA Kit 3.5 及更高版本支援使用 SLAS 公用用戶端和私人用戶端。
PWA Kit 3.5 之前的所有 PWA 版本僅支援 SLAS _公用_用戶端。
Note
如果您現有的 PWA Kit 網站使用 SLAS 公用用戶端,我們鼓勵您繼續閱讀並考慮切換為私人用戶端。
在執行本指南的命令之前,請以實際值取代預留位置。預留位置的格式如下:$PLACEHOLDER。
使用私人用戶端時,應注意不要將用戶端密碼暴露給購物者和用戶端瀏覽器。
為協助保護用戶端密碼,PWA Kit Retail React App 透過使用環境變數,將密碼儲存在伺服器端。想瞭解如何儲存用戶端密碼,請參閱設定環境變數。
概括而言,您將執行以下操作來為 PWA Kit 網站設定 SLAS 私人用戶端。
此視頻演示如何為 PWA Kit 設置 SLAS 專用用戶端和 分階段無外設推出。
::視頻{src=“FqwkbNxGVXVsLCxQDGMP3g”標題=:“可組合網店中的 SLAS 私有用戶端”類型=“vidyard”}
首先,請完成Shopper API 授權和設定 API 存取中的指示,建立您的 SLAS 私人用戶端。
建立 SLAS 私人用戶端後,請按照以下步驟,將其用於 PWA Kit 網站:
如果尚未升級,請升級到 PWA Kit v3.5 或更高版本。
在 PWA Kit 設定檔config/default.js中,將 commerceAPI clientId 設定為 SLAS 私人用戶端 ID。
1clientId: '$YOUR_SLAS_PRIVATE_CLIENT_ID',在您的 _app-config/index.js 中,將 ” 的道具true。 enablePWAKitPrivateClient
1CommerceApiProvider enablePWAKitPrivateClient={true}在 ssr.js 中,將傳遞給 runtime.createHandler 的選項的 useSLASPrivateClient 屬性設定為 true:
1const options = {useSLASPrivateClient: true}
2const {handler} = runtime.createHandler(options, callback)執行以下命令,以在使用中命令提示字元中本機設定 PWA_KIT_SLAS_CLIENT_SECRET 環境變數:
export PWA_KIT_SLAS_CLIENT_SECRET=$YOUR_CLIENT_SECRETset 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 環境變數,來完成此操作。
Note
如果您在 Managed Runtime 上遠端執行 PWA Kit 網站,則可以在替換變數以與您的環境相符後,在終端機中執行以下命令來設定 PWA_KIT_SLAS_CLIENT_SECRET 環境變數。
想進一步瞭解如何取得 Managed Runtime API 金鑰與遠端環境的其他屬性,請參閱我們的推送和部署套件指南。
1curl "https://cloud.mobify.com/api/projects/$PROJECTID/target/$ENVIRONMENTID/env-var/" \
2 --request 'PATCH' \
3 --header 'Content-Type: application/json' \
4 --header 'Accept: application/json' \
5 --header "Authorization: Bearer $RUNTIME_ADMIN_API_KEY" \
6 --data '{ "PWA_KIT_SLAS_CLIENT_SECRET": {"value": "'$PWA_KIT_SLAS_CLIENT_SECRET'"} }'如需更多資訊,請參閱環境變數。
此設置適用於使用外掛程式 SLAS 的混合網店。如果使用 混合身份驗證,則不適用。
Note
除了上述的 PWA Kit 設定步驟之外,在同時使用 PWA Kit 和 SFRA 的分階段推出網店中,您還需要更新 Plugin SLAS 以使用您的 SLAS 私人用戶端。有關如何設定 SLAS 私人用戶端以與 SFRA 配合使用的說明,請參閱 Plugin SLAS readme。
如果您要擴大 PWA Kit 實作以使用需要私人用戶端 (例如無密碼登入) 的其他 SLAS 端點,則可以使用 runtime.createHandler 的 applySLASPrivateClientToEndpoints 選項來擴大可用的端點集:
1const options = {
2 useSLASPrivateClient: true,
3 applySLASPrivateClientToEndpoints: /oauth2\/(token|passwordless\/(login|token))/
4}
5const {handler} = runtime.createHandler(options, callback)如果您看到對 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 環境變數尚未設定。設定後,請等待幾分鐘以套用變更。