使用 CognitoUser(npm:amazon-cognito-identity-js)仅验证 "code"

Verifying only "code" using CognitoUser (npm: amazon-cognito-identity-js)

我目前在实现“忘记密码”功能时使用了以下内容, 但是我只想先验证“验证码”,再验证“密码” 但现在它需要参数新密码和代码同时验证和更新密码。

   getUser(values.email).confirmPassword(values.code, values.password, {
          onSuccess: (data) => {
            console.log("onSuccess", data); 
            setStage(2);
          },
          onFailure: (data) => {
            console.log("onFail", data);
            return;
          },
        });
const getUser = (Username) => {
  return new CognitoUser({ Username, Pool });
};

对于这种行为,您无能为力。这就是 Cognito 中 API 端点的工作原理。 ConfirmForgotPassword 端点将代码和新密码都作为强制参数。响应将告诉您密码是否错误(如果它与配置的规则不匹配)或者密码是否为 invalid/expired.

代码仅传送到终端设备。这意味着您永远不会看到它,因此无法判断它是否正确。这就是 Cognito 会做的事情。