通过电子邮件而不是短信发送OTP-Cognito



有没有办法通过电子邮件而不是短信发送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');

最新更新