此文已使用 Salesforce 機器翻譯系統翻譯。更多詳細資料請參見此處。
PWA Kit 開箱即用,可為購物者使用密碼重置選項。在您的 Progressive Web App (PWA) Kit 網站中包含此功能,以改善購物者體驗。透過重設密碼,如果購物者忘記密碼,他們可以使用驗證碼或電子郵件、簡訊中的連結來建立新密碼以重新取得其帳戶存取權。
我們的 演示網站 顯示了密碼重置的預設實現。
若要為 PWA Kit 網站啟用和配置密碼重置,請按照本指南中的步驟作。在本指南中,我們使用一個具有URL的示例網店: https://www.example.com。替換 example.com 為您的功能變數名稱。
混合網店不支持密碼重置。
Note
要使用密碼重置,請使用可組合網店和 Retail React App 版本 6.0 或更高版本構建網站。
有三個配置步驟。
Note
提供 SLAS 的回調 URL。這樣,SLAS 就可以向該 URL 發送您的網站為購物者創建令牌(驗證碼或電子郵件或文本中的連結)所需的所有資訊。有關更多背景資訊,請參閱 密碼重置。
SLAS 向回調 URL 發出 HTTP POST 請求,以將購物者的憑據轉發到您選擇的目標,通常是電子郵件或行銷服務提供者。默認情況下,PWA Kit 會生成一個安全連結,並使用Salesforce Marketing Cloud 在電子郵件中轉發該連結。要自定義此功能,請描述要用於確保購物者獲得 SLAS 生成的八位數令牌的機制。
以下是描述向 SLAS 提供回調 URL 的機制的三個可能選項。下面將詳細介紹它們。
a.使用外部回調 URL
提供任何可公開訪問的外部回調 URL,該 URL 可以使用購物者的電子郵件處理令牌傳送。
此回調 URL 的範例包括 B2C Commerce 實體、託管運行時環境或您自己的伺服器。
配置 SLAS 用戶端。在「回調 URL」字段中,輸入可公開訪問的回調 URL。
或
b.使用 Marketing Cloud 集成
如果您有 Marketing Cloud 許可證,則可以通過電子郵件或文本發送令牌(具體取決於您的合同條款)。這是 PWA Kit 中包含的預設實現。
必要條件
有關適用於使用 Marketing Cloud 集成的所有先決條件和步驟,請參閱 創建事務性發送歷程。
配置您的集成
要獲取以下 Marketing Cloud 配置值,請參閱 創建 OAuth 2.0 API 集成。
在Managed Runtime 中設置這些環境變數。
MARKETING_CLOUD_CLIENT_ID 更改為您的 Marketing Cloud 用戶端 IDMARKETING_CLOUD_CLIENT_SECRET 更改為您的 Marketing Cloud 用戶端金鑰MARKETING_CLOUD_SUBDOMAIN 添加到您的 Marketing Cloud 子域MARKETING_CLOUD_RESET_PASSWORD_TEMPLATE 添加到您存儲在 Marketing Cloud 中的電子郵件範本的 事務性 API 事件 的唯一事件定義金鑰。請參閱 Environment Variables (環境變數)。
在 SLAS 用戶端中配置完整的回調 URL。例如:https://example.com/reset-password-callback。請參閱 配置 SLAS 用戶端。
如果要自定義 /reset-password-callback 回調路徑,則還要在 ssr.js 設置POST端點的位置更新它。見選項c。在下面的 PWA Kit 專案中使用自訂 POST 終結點。
或
c.在 PWA Kit 專案中使用自定義 POST 終結點
app/ssr.js 以使用所選取選項(電子郵件或文字)處理令牌傳送。請參閱此 Marketing Cloud 實施 app/ssr.js 示例。1// Define a POST route for the '/reset-password-callback' endpoint.
2app.post(/reset-password-callback, (req, res) => {
3 const slasCallbackToken = req.headers['x-slas-callback-token']
4 validateSlasCallbackToken(slasCallbackToken).then(() => {
5 sendMagicLinkEmail(
6 req,
7 res,
8 RESET_PASSWORD_LANDING_PATH,
9 process.env.MARKETING_CLOUD_RESET_PASSWORD_TEMPLATE
10 )
11 })
12 })對於三個回調 URL 選項中的任何一個,請確保您配置的回調 URL 已列入您正在使用的 SLAS 用戶端欄位中的允許清單 Callback URL 。為此,請執行以下作:
有兩種方法可以在 PWA Kit 專案中配置密碼重置。
template-retail-react-app/config/default.jsa.更新 template-retail-react-app/config/default.js
在 PWA Kit 專案中,使用作為先決條件的一部分設置的回調 URL,進行更新 template-retail-react-app/config/default.js ,如下所示。
1module.exports = {
2 app: {
3 login: {
4
5 // Enable password reset with an absolute callback URL.
6 resetPassword: {
7 callbackURI: 'https://example.com/reset-password-callback'
8 }
9
10 // Enable password reset with a relative callback URL.
11 // This example callback URL uses the default Marketing Cloud implementation.
12 // You can customize the behavior of this callback URL endpoint in ssr.js.
13 resetPassword: {
14 callbackURI: '/reset-password-callback'
15
16
17 // More code here...或
b.使用環境變數
密碼重置環境變數的值將覆蓋您在 中 template-retail-react-app/config/default.js添加的任何值。
Note
使用此環境變數設置密碼重置的回調 URL。
RESET_PASSWORD_CALLBACK_URI
請參閱 Environment Variables (環境變數)。
本部分針對您可能遇到的與密碼重置相關的常見錯誤提供建議的解決方案。
潛在原因: 電子郵件發送服務花費的時間比預期的要長,或者購物者沒有收到電子郵件。
建議的解決方案: 包括重新發送選項或允許購物者輸入備用聯繫方式。檢查垃圾郵件篩檢程式是否存在問題。