!!
おかげAWS Cognitoではないので現在、あなたは次のように、認証フローを実装することができます。外部に保存され、ランダムなパスワードを使用して回避策を実装する必要があります。ユーザー登録後に
- (また、携帯電話番号を尋ねると、それは必須にする)、携帯電話番号を保存するパスワードなしの認証を支援、ユーザー名とパスワードも私はn DynamodbはAWS KMSで暗号化されています(セキュリティを強化するため)。
- モバイル番号を入力してログイン(フロントエンド)を押した後、バックエンドで自動的にユーザー名のパスワードマッチング(パススルー)を行い、MFAを起動してコードを送信できるように、ユーザーのモバイル用に、AWS Cognito SDK(カスタムモバイルメッセージとチャレンジを実装せずに)を使用していることを確認します。
- SMS &検証を送信するためにフローを手動で(MFAなしで)実装する予定がある場合は、目的にAWS SNSを使用できます。
詳細については、MFAの洞察を理解し、this linkを参照してください。
var userData = {
Username : 'username',
Pool : userPool
};
cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
var authenticationData = {
Username : 'username',
Password : 'password',
};
var authenticationDetails = new AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) {
alert('authentication successful!')
},
onFailure: function(err) {
alert(err);
},
mfaRequired: function(codeDeliveryDetails) {
var verificationCode = prompt('Please input verification code' ,'');
cognitoUser.sendMFACode(verificationCode, this);
}
});
注:ここでは携帯電話番号とMFAは、MFAの目的ではなく、あなたの要件を満たすための回避策として使用されていません。
ありがとうございますAshan。それは私の質問に答える:) – spar