我正在使用Amplify并为我的应用创建忘记密码之旅。我正在使用此功能:
import { Auth } from 'aws-amplify';
// Send confirmation code to user's email
Auth.forgotPassword(username)
.then(data => console.log(data))
.catch(err => console.log(err));
// Collect confirmation code and new password, then
Auth.forgotPasswordSubmit(username, code, new_password)
.then(data => console.log(data))
.catch(err => console.log(err));
如此处文档中所述
我想实现的是一个3页的旅程。
1.输入电子邮件地址
1.输入代码(并在进入下一页之前对其进行验证)
1.输入新密码
我遇到的问题是,提供的forgotPasswordSubmit函数接受所有3个参数,此时,我只想发送2个(电子邮件和代码)。
我的计划是发送电子邮件,代码,和一个空字符串的密码,然后检查返回的错误,看看是否有一个有关的代码是不正确的,但我只得到一个错误的密码无效。
有没有一种方法,我可以得到放大发送回所有的错误一次(在这种情况下,密码是无效的,但也是代码不正确),或者有没有一个更好的方式做到这一点?
我已经寻找了很长时间的答案,然后才问这里,所以任何帮助将不胜感激。
3条答案
按热度按时间knpiaxh11#
我相信你只能分两个阶段来做。
0mkxixxg2#
我也遇到了同样的问题,在我们的网站上,forgotPassword的流程是这样的:
请求验证码-〉验证码-〉输入新密码
但是使用AWS放大方法,我只能一起做第2步和第3步。
希望能有办法解决这个问题。
zf9nrax13#
我想出了一个解决这个问题的办法。它肯定不是理想的,但它的工作!
1.尝试使用简短的无效密码forgotPasswordSubmit。
1.检查错误消息是否与无效代码有关