有没有办法通过电子邮件而不是短信发送OTP?SMS在不同的国家有很多限制和规定,而TOTP恰好对非技术用户不友好。我知道我可以自定义流,但我们希望继续使用Amplify登录。在cognito服务中实现这一点最直接的方法是什么?
没有现成的电子邮件解决方案,但使用自定义流、lambda触发器和amazon SES设置相对简单。您可以在AWS博客上遵循本教程:https://aws.amazon.com/blogs/mobile/extending-amazon-cognito-with-email-otp-for-2fa-using-amazon-ses/
不,您不能使用Amplify
import { Auth } from 'aws-amplify';
##您可以选择首选mfa类型,例如:##选择TOTP作为首选
Auth.setPreferredMFA(user, 'TOTP').then((data) => {
console.log(data);
// ...
}).catch(e => {});
//选择SMS作为首选
Auth.setPreferredMFA(user, 'SMS');
//选择无mfa
Auth.setPreferredMFA(user, 'NOMFA');