パスワードのリセット

Salesforce Commerce Cloud を使用して SLAS パスワードのリセットを実装するプロセスを学習します。これにより、買い物客はパスワードを更新し、アカウントを安全に保つことができます。

パブリッククライアントとプライベートクライアントの両方のパスワードリセット フローでは、2 つの SLAS エンドポイントが使用されます。1 つはパスワードリセットトークンを取得するため、もう 1 つはトークンを使用してパスワードをリセットするためです。 shopper-login:getPasswordResetTokenshopper-login:resetPassword の 2 つの SLAS エンドポイントは、SLAS サービスがパスワードリセットトークンを送信するためのコールバック URL を提供します。

SLAS パスワードリセットトークンは 10 分後に期限切れになります。

  1. パブリックにアクセス可能なコールバック URL を設定し、SLAS サービスから Webhook リクエストを受信して、E メール、SMS、その他の手段でリセットトークンを買い物客に送信します。
  2. そのコールバック URL を使用して SLAS クライアントを構成します。
  3. 一意のコードチャレンジとコードベリファイアを生成します。
  4. コールバック URL で shopper-login:getPasswordResetToken を呼び出すリセットフォームを作成し、プロセスを開始します。
  5. PKCE code_challenge または code_verifier が不要になるようにするには、hint クエリパラメーターに cross_device の値を使用します。
  6. 買い物客がサーバーから送信されたリンクをたどって到達する更新フォームを作成します。買い物客が新しいパスワードとトークンを入力すると、パスワードが更新されます。その後、買い物客は新しいパスワードを使用してログインできます。
  • パブリックにアクセス可能なコールバック URL (ECOM インスタンス、Managed Runtime 環境、独自サーバーなど)。

    現在コールバック URL がない場合は、テスト目的で Webhook.site などのパブリックサービスを使用できます。

  • コールバック URL で構成された SLAS クライアント。

  1. SLAS エンドポイント shopper-login:getPasswordResetToken を呼び出して、パスワードリセットプロセスを開始します。
    1. パスワードリセットペイロードを含む SLAS Web サービスから Webhook リクエストを受信する、パブリックにアクセス可能な callback_uri を提供します。
  2. callback_uri は、SLAS クライアントの許可されたコールバック URL に対して検証されます。
  3. callback_uri が有効な場合、SLAS はパスワードリセットトークンを含む POST リクエストをコールバック URL に送信します。次に例を示します。
  • SLAS Web サービスは、コールバック URL に対して Content-Type: application/json を使用して HTTP POST リクエストを行います。ペイロードには、パスワードのリセットに必要な 8 桁の数値である token と、買い物客のプロフィールに関連付けられている E メールアドレスや電話番号 (利用可能な場合) など、買い物客に連絡するための可能な方法が含まれています。通常、買い物客の email_idlogin_id は同じですが、Commerce Cloud では、買い物客の E メールアドレスが、ログインに使用する値 (login_id) と異なる場合があります。
  1. コールバック URL をホストするサーバーは、E メール、SMS、その他の手段を介して買い物客にトークンを送信します。トークンは通常、買い物客がクリックできるリンクの一部として、または買い物客がフォームから入力する必要がある値として送信されます。
  2. 買い物客は、新しいパスワードとともにトークンを SLAS エンドポイント shopper-login:resetPassword に提供し、プロセスを完了します。

    新しいパスワードは、B2C Commerce サイトで設定されているパスワードの複雑さの要件を満たしている必要があります。要件を満たしていない場合、リクエストは拒否されます。

パスワードリセットフロー

SLAS コールバックリクエストの検証の手順を参照してください。

パブリッククライアントとプライベートクライアントの両方でパスワードをリセットするには、次の 2 つの個別のリクエストを行います。

  1. パスワードリセットトークンをリクエストします。
  2. 顧客からリセットトークンが渡されたら、リセットトークンを使用してパスワードのリセットをリクエストします。
  1. パスワードリセットトークンをリクエストします。
  1. 顧客からリセットトークンが渡されたら、リセットトークンを使用してパスワードのリセットをリクエストします。
  1. パスワードリセットトークンをリクエストします。
  1. 顧客からリセットトークンが渡されたら、リセットトークンを使用してパスワードのリセットをリクエストします。

コールバック URL は SLAS Web サービスにアクセスできる 必要 があります。つまり、受信リクエストに対して認証メカニズムは使用できません。具体的な例としては、SLAS パスワードリセットでは B2C Commerce Storefront Protection (ストアフロントの保護) を使用できません。