使用 CognitoUser (npm: amazon-cognito-identity-js) 仅验证“代码”

Posted

技术标签:

【中文标题】使用 CognitoUser (npm: amazon-cognito-identity-js) 仅验证“代码”【英文标题】:Verifying only "code" using CognitoUser (npm: amazon-cognito-identity-js) 【发布时间】:2021-09-13 00:48:48 【问题描述】:

我目前在实现“忘记密码”功能时使用以下内容, 但是我只想先验证“验证码”,然后再验证“密码” 但现在它希望参数 new password 和 code 同时验证和更新密码。

   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 );
;

【问题讨论】:

【参考方案1】:

对于这种行为,您无能为力。这就是 Cognito 中 API 端点的工作方式。 ConfirmForgotPassword 端点将代码和新密码作为强制参数。响应将告诉您密码是否不正确(如果它与配置的规则不匹配)或代码是否无效/过期。

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

【讨论】:

谢谢,我还观察到,当我们创建 CognitoUser 实例时,如果池中甚至不存在电子邮件/用户名,它不会引发错误,它会继续进行

以上是关于使用 CognitoUser (npm: amazon-cognito-identity-js) 仅验证“代码”的主要内容,如果未能解决你的问题,请参考以下文章

Amazing!!CSS 也能实现极光?

Amazing!巧用 CSS 视差实现酷炫交互动效

解码Amaze UI前端框架这么多,为什么还要开发Amaze UI?

初始化 The Amazing Audio Engine 后,视频录制中没有音频(使用 GPUImage)

十VueJs 填坑日记之在项目中使用Amaze UI

javascript模板插件amaze.js