GetUserPoolMfaConfig - Amazon Cognito User Pools

GetUserPoolMfaConfig

Given a user pool ID, returns configuration for sign-in with WebAuthn authenticators and for multi-factor authentication (MFA). This operation describes the following:

  • The WebAuthn relying party (RP) ID and user-verification settings.

  • The required, optional, or disabled state of MFA for all user pool users.

  • The message templates for email and SMS MFA.

  • The enabled or disabled state of time-based one-time password (TOTP) MFA.

Note

Amazon Cognito evaluates AWS Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Request Syntax

{ "UserPoolId": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

UserPoolId

The ID of the user pool where you want to query WebAuthn and MFA configuration.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 55.

Pattern: [\w-]+_[0-9a-zA-Z]+

Required: Yes

Response Syntax

{ "EmailMfaConfiguration": { "Message": "string", "Subject": "string" }, "MfaConfiguration": "string", "SmsMfaConfiguration": { "SmsAuthenticationMessage": "string", "SmsConfiguration": { "ExternalId": "string", "SnsCallerArn": "string", "SnsRegion": "string" } }, "SoftwareTokenMfaConfiguration": { "Enabled": boolean }, "WebAuthnConfiguration": { "RelyingPartyId": "string", "UserVerification": "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

EmailMfaConfiguration

Shows configuration for user pool email message MFA and sign-in with one-time passwords (OTPs). Includes the subject and body of the email message template for sign-in and MFA messages. To activate this setting, your user pool must be in the Essentials tier or higher.

Type: EmailMfaConfigType object

MfaConfiguration

Displays the state of multi-factor authentication (MFA) as on, off, or optional. When ON, all users must set up MFA before they can sign in. When OPTIONAL, your application must make a client-side determination of whether a user wants to register an MFA device. For user pools with adaptive authentication with threat protection, choose OPTIONAL.

When MfaConfiguration is OPTIONAL, managed login doesn't automatically prompt users to set up MFA. Amazon Cognito generates MFA prompts in API responses and in managed login for users who have chosen and configured a preferred MFA factor.

Type: String

Valid Values: OFF | ON | OPTIONAL

SmsMfaConfiguration

Shows user pool configuration for SMS message MFA. Includes the message template and the SMS message sending configuration for Amazon SNS.

Type: SmsMfaConfigType object

SoftwareTokenMfaConfiguration

Shows user pool configuration for time-based one-time password (TOTP) MFA. Includes TOTP enabled or disabled state.

Type: SoftwareTokenMfaConfigType object

WebAuthnConfiguration

Shows user pool configuration for sign-in with passkey authenticators like biometric devices and security keys. Passkeys are not eligible MFA factors. They are instead an eligible primary sign-in factor for choice-based authentication, or the USER_AUTH flow.

Type: WebAuthnConfigurationType object

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalErrorException

This exception is thrown when Amazon Cognito encounters an internal error.

HTTP Status Code: 500

InvalidParameterException

This exception is thrown when the Amazon Cognito service encounters an invalid parameter.

HTTP Status Code: 400

NotAuthorizedException

This exception is thrown when a user isn't authorized.

HTTP Status Code: 400

ResourceNotFoundException

This exception is thrown when the Amazon Cognito service can't find the requested resource.

HTTP Status Code: 400

TooManyRequestsException

This exception is thrown when the user has made too many requests for a given operation.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: