我使用aws-amplify构建了一个应用,该应用允许使用Cognito用户登录。但是,Auth.forgotPassword
似乎正在向移动设备而不是EMAIL发送短信。如何更改行为以使其发送电子邮件?
以下是相关代码:
Auth.forgotPassword(this.state.username)
.then(data => this.setState({instruction: 'An email has been sent to your email with a temporary password.', usernameError: false, passwordError: false}))
.catch(err => this.setState({instruction: err.message, usernameError: false, passwordError: false}));
答案 0 :(得分:0)
您可以配置在AWS Cognito控制台中触发forgotPassword API时需要验证的内容。
Amazon Cognito>管理用户池>选择您的池>常规设置> MFA和验证> Which attributes do you want to verify?
此外,当您触发ForgotPassword API时,也会得到CodeDeliveryDetails对象作为响应
const result = await Auth.forgotPassword(username);
console.log(result);
CodeDeliveryDetails: {
"AttributeName": "email",
"DeliveryMedium": "EMAIL",
"Destination": "n***@g***.com"
}
从结果中,您可以了解使用哪种媒体传递代码,并相应地在应用程序中通知用户。