问题描述
有没有办法通过电子邮件而不是短信发送一次性密码? SMS 在不同国家/地区有很多限制和规定,而 TOTP 恰好对非技术用户不友好。 我知道我可以拥有自定义流程,但我们希望继续使用 Amplify 进行登录。在 Cognito 服务中实现这一目标的最直接方法是什么?
解决方法
不,您不能使用 Amplify
import { Auth } from 'aws-amplify';
##您可以选择首选的 mfa 类型,例如: ##选择TOTP作为首选
Auth.setPreferredMFA(user,'TOTP').then((data) => {
console.log(data);
// ...
}).catch(e => {});
// 选择短信为首选
Auth.setPreferredMFA(user,'SMS');
// 选择 no-mfa
Auth.setPreferredMFA(user,'NOMFA');