AWS Cognito с CDK UserPool MFA

#node.js #amazon-cognito #serverless #aws-cdk

#node.js #amazon-cognito #бессерверный #aws-cdk

Вопрос:

Может кто-нибудь сказать мне, возможно ли создать a userPool с требуемым MFA, отключенным SMS MFA, но включенным OTP MFA.

На консоли AWS это, похоже, не проблема, но по какой-то причине через CDK это не совсем удобно.

Я попытался обновить существующий пул пользователей, а также создать новый.

 new UserPool(this, 'foo-user-pool', {
    userPoolName: 'foo',

    selfSignUpEnabled: false,
    passwordPolicy: {
        minLength: 12,
        requireDigits: true,
        requireLowercase: true,
        requireSymbols: true,
        requireUppercase: true,
        tempPasswordValidity: cdk.Duration.days(7)
    },
    accountRecovery: AccountRecovery.EMAIL_ONLY,
    enableSmsRole: false,
    mfa: Mfa.REQUIRED,
    mfaSecondFactor: {
        sms: false,
        otp: true
    },

    signInAliases: {
        email: true,
    },
    autoVerify: {
        email: true,
    },
})
 

Выдает мне следующее сообщение об ошибке и уже некоторое время…

 SMS configuration and Auto verification for phone_number are required when MFA is required/optional (Service: AWSCognitoIdentityProviderService; Status Code: 400; Error Code: InvalidParameterException; Request ID: bcc2143c-546a-439a-b7b5-6fcf3888cf9a; Proxy: null)
 

Ссылка показывает PR, который позволяет нам отключить создание роли SMS.

AWS CDK 1.77.0