パスワードのリセット
Salesforce Commerce Cloud を使用して SLAS パスワードのリセットを実装するプロセスを学習します。これにより、買い物客はパスワードを更新し、アカウントを安全に保つことができます。
パブリッククライアントとプライベートクライアントの両方のパスワードリセット フローでは、2 つの SLAS エンドポイントが使用されます。1 つはパスワードリセットトークンを取得するため、もう 1 つはトークンを使用してパスワードをリセットするためです。
shopper-login:getPasswordResetToken と shopper-login:resetPassword の 2 つの SLAS エンドポイントは、SLAS サービスがパスワードリセットトークンを送信するためのコールバック URL を提供します。
SLAS パスワードリセットトークンは 10 分後に期限切れになります。
- パブリックにアクセス可能なコールバック URL を設定し、SLAS サービスから Webhook リクエストを受信して、E メール、SMS、その他の手段でリセットトークンを買い物客に送信します。
- そのコールバック URL を使用して SLAS クライアントを構成します。
- 一意のコードチャレンジとコードベリファイアを生成します。
- コールバック URL で
shopper-login:getPasswordResetTokenを呼び出すリセットフォームを作成し、プロセスを開始します。 - PKCE code_challenge または code_verifier が不要になるようにするには、
hintクエリパラメーターにcross_deviceの値を使用します。 - 買い物客がサーバーから送信されたリンクをたどって到達する更新フォームを作成します。買い物客が新しいパスワードとトークンを入力すると、パスワードが更新されます。その後、買い物客は新しいパスワードを使用してログインできます。
-
パブリックにアクセス可能なコールバック URL (ECOM インスタンス、Managed Runtime 環境、独自サーバーなど)。
現在コールバック URL がない場合は、テスト目的で Webhook.site などのパブリックサービスを使用できます。
-
コールバック URL で構成された SLAS クライアント。
- SLAS エンドポイント
shopper-login:getPasswordResetTokenを呼び出して、パスワードリセットプロセスを開始します。- パスワードリセットペイロードを含む SLAS Web サービスから Webhook リクエストを受信する、パブリックにアクセス可能な
callback_uriを提供します。
- パスワードリセットペイロードを含む SLAS Web サービスから Webhook リクエストを受信する、パブリックにアクセス可能な
callback_uriは、SLAS クライアントの許可されたコールバック URL に対して検証されます。callback_uriが有効な場合、SLAS はパスワードリセットトークンを含む POST リクエストをコールバック URL に送信します。次に例を示します。
- SLAS Web サービスは、コールバック URL に対して
Content-Type: application/jsonを使用して HTTP POST リクエストを行います。ペイロードには、パスワードのリセットに必要な 8 桁の数値であるtokenと、買い物客のプロフィールに関連付けられている E メールアドレスや電話番号 (利用可能な場合) など、買い物客に連絡するための可能な方法が含まれています。通常、買い物客のemail_idとlogin_idは同じですが、Commerce Cloud では、買い物客の E メールアドレスが、ログインに使用する値 (login_id) と異なる場合があります。
- コールバック URL をホストするサーバーは、E メール、SMS、その他の手段を介して買い物客にトークンを送信します。トークンは通常、買い物客がクリックできるリンクの一部として、または買い物客がフォームから入力する必要がある値として送信されます。
- 買い物客は、新しいパスワードとともにトークンを SLAS エンドポイント
shopper-login:resetPasswordに提供し、プロセスを完了します。新しいパスワードは、B2C Commerce サイトで設定されているパスワードの複雑さの要件を満たしている必要があります。要件を満たしていない場合、リクエストは拒否されます。

SLAS コールバックリクエストの検証の手順を参照してください。
パブリッククライアントとプライベートクライアントの両方でパスワードをリセットするには、次の 2 つの個別のリクエストを行います。
- パスワードリセットトークンをリクエストします。
- 顧客からリセットトークンが渡されたら、リセットトークンを使用してパスワードのリセットをリクエストします。
- パスワードリセットトークンをリクエストします。
- 顧客からリセットトークンが渡されたら、リセットトークンを使用してパスワードのリセットをリクエストします。
- パスワードリセットトークンをリクエストします。
- 顧客からリセットトークンが渡されたら、リセットトークンを使用してパスワードのリセットをリクエストします。
コールバック URL は SLAS Web サービスにアクセスできる 必要 があります。つまり、受信リクエストに対して認証メカニズムは使用できません。具体的な例としては、SLAS パスワードリセットでは B2C Commerce Storefront Protection (ストアフロントの保護) を使用できません。