Amazon Cognito Identity Provider

2017/08/11 - Amazon Cognito Identity Provider - 9 new9 updated api methods

Changes  Update cognito-idp client to latest version

DeleteResourceServer (new) Link ¶

Deletes a resource server.

See also: AWS API Documentation

Request Syntax

client.delete_resource_server(
    UserPoolId='string',
    Identifier='string'
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID for the user pool that hosts the resource server.

type Identifier:

string

param Identifier:

[REQUIRED]

The identifier for the resource server.

returns:

None

AdminLinkProviderForUser (new) Link ¶

Links an existing user account in a user pool ( DestinationUser) to an identity from an external identity provider ( SourceUser) based on a specified attribute name and value from the external identity provider. This allows you to create a link from the existing user account to an external federated user identity that has not yet been used to sign in, so that the federated user identity can be used to sign in as the existing user account.

For example, if there is an existing user with a username and password, this API links that user to a federated user identity, so that when the federated user identity is used, the user signs in as the existing user account.

See also AdminDisableProviderForUser.

This action is enabled only for admin access and requires developer credentials.

See also: AWS API Documentation

Request Syntax

client.admin_link_provider_for_user(
    UserPoolId='string',
    DestinationUser={
        'ProviderName': 'string',
        'ProviderAttributeName': 'string',
        'ProviderAttributeValue': 'string'
    },
    SourceUser={
        'ProviderName': 'string',
        'ProviderAttributeName': 'string',
        'ProviderAttributeValue': 'string'
    }
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID for the user pool.

type DestinationUser:

dict

param DestinationUser:

[REQUIRED]

The existing user in the user pool to be linked to the external identity provider user account. Can be a native (Username + Password) Cognito User Pools user or a federated user (for example, a SAML or Facebook user). If the user doesn't exist, an exception is thrown. This is the user that is returned when the new user (with the linked identity provider attribute) signs in.

The ProviderAttributeValue for the DestinationUser must match the username for the user in the user pool. The ProviderAttributeName will always be ignored.

  • ProviderName (string) --

    The name of the provider, for example, Facebook, Google, or Login with Amazon.

  • ProviderAttributeName (string) --

    The name of the provider attribute to link to, for example, NameID.

  • ProviderAttributeValue (string) --

    The value of the provider attribute to link to, for example, xxxxx_account.

type SourceUser:

dict

param SourceUser:

[REQUIRED]

An external identity provider account for a user who does not currently exist yet in the user pool. This user must be a federated user (for example, a SAML or Facebook user), not another native user.

If the SourceUser is a federated social identity provider user (Facebook, Google, or Login with Amazon), you must set the ProviderAttributeName to Cognito_Subject. For social identity providers, the ProviderName will be Facebook, Google, or LoginWithAmazon, and Cognito will automatically parse the Facebook, Google, and Login with Amazon tokens for id, sub, and user_id, respectively. The ProviderAttributeValue for the user must be the same value as the id, sub, or user_id value found in the social identity provider token.

For SAML, the ProviderAttributeName can be any value that matches a claim in the SAML assertion. If you wish to link SAML users based on the subject of the SAML assertion, you should map the subject to a claim through the SAML identity provider and submit that claim name as the ProviderAttributeName. If you set ProviderAttributeName to Cognito_Subject, Cognito will automatically parse the default unique identifier found in the subject from the SAML token.

  • ProviderName (string) --

    The name of the provider, for example, Facebook, Google, or Login with Amazon.

  • ProviderAttributeName (string) --

    The name of the provider attribute to link to, for example, NameID.

  • ProviderAttributeValue (string) --

    The value of the provider attribute to link to, for example, xxxxx_account.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

CreateResourceServer (new) Link ¶

Creates a new OAuth2.0 resource server and defines custom scopes in it.

See also: AWS API Documentation

Request Syntax

client.create_resource_server(
    UserPoolId='string',
    Identifier='string',
    Name='string',
    Scopes=[
        {
            'ScopeName': 'string',
            'ScopeDescription': 'string'
        },
    ]
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID for the user pool.

type Identifier:

string

param Identifier:

[REQUIRED]

A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example, https://my-weather-api.example.com.

type Name:

string

param Name:

[REQUIRED]

A friendly name for the resource server.

type Scopes:

list

param Scopes:

A list of scopes. Each scope is map, where the keys are name and description.

  • (dict) --

    A resource server scope.

    • ScopeName (string) -- [REQUIRED]

      The name of the scope.

    • ScopeDescription (string) -- [REQUIRED]

      A description of the scope.

rtype:

dict

returns:

Response Syntax

{
    'ResourceServer': {
        'UserPoolId': 'string',
        'Identifier': 'string',
        'Name': 'string',
        'Scopes': [
            {
                'ScopeName': 'string',
                'ScopeDescription': 'string'
            },
        ]
    }
}

Response Structure

  • (dict) --

    • ResourceServer (dict) --

      The newly created resource server.

      • UserPoolId (string) --

        The user pool ID for the user pool that hosts the resource server.

      • Identifier (string) --

        The identifier for the resource server.

      • Name (string) --

        The name of the resource server.

      • Scopes (list) --

        A list of scopes that are defined for the resource server.

        • (dict) --

          A resource server scope.

          • ScopeName (string) --

            The name of the scope.

          • ScopeDescription (string) --

            A description of the scope.

SetUICustomization (new) Link ¶

Sets the UI customization information for a user pool's built-in app UI.

You can specify app UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to ALL). If you specify ALL, the default configuration will be used for every client that has no UI customization set previously. If you specify UI customization settings for a particular client, it will no longer fall back to the ALL configuration.

See also: AWS API Documentation

Request Syntax

client.set_ui_customization(
    UserPoolId='string',
    ClientId='string',
    CSS='string',
    ImageFile=b'bytes'
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID for the user pool.

type ClientId:

string

param ClientId:

The client ID for the client app.

type CSS:

string

param CSS:

The CSS values in the UI customization.

type ImageFile:

bytes

param ImageFile:

The uploaded logo image for the UI customization.

rtype:

dict

returns:

Response Syntax

{
    'UICustomization': {
        'UserPoolId': 'string',
        'ClientId': 'string',
        'ImageUrl': 'string',
        'CSS': 'string',
        'CSSVersion': 'string',
        'LastModifiedDate': datetime(2015, 1, 1),
        'CreationDate': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • UICustomization (dict) --

      The UI customization information.

      • UserPoolId (string) --

        The user pool ID for the user pool.

      • ClientId (string) --

        The client ID for the client app.

      • ImageUrl (string) --

        The logo image for the UI customization.

      • CSS (string) --

        The CSS values in the UI customization.

      • CSSVersion (string) --

        The CSS version number.

      • LastModifiedDate (datetime) --

        The last-modified date for the UI customization.

      • CreationDate (datetime) --

        The creation date for the UI customization.

UpdateResourceServer (new) Link ¶

Updates the name and scopes of resource server. All other fields are read-only.

See also: AWS API Documentation

Request Syntax

client.update_resource_server(
    UserPoolId='string',
    Identifier='string',
    Name='string',
    Scopes=[
        {
            'ScopeName': 'string',
            'ScopeDescription': 'string'
        },
    ]
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID for the user pool.

type Identifier:

string

param Identifier:

[REQUIRED]

The identifier for the resource server.

type Name:

string

param Name:

[REQUIRED]

The name of the resource server.

type Scopes:

list

param Scopes:

The scope values to be set for the resource server.

  • (dict) --

    A resource server scope.

    • ScopeName (string) -- [REQUIRED]

      The name of the scope.

    • ScopeDescription (string) -- [REQUIRED]

      A description of the scope.

rtype:

dict

returns:

Response Syntax

{
    'ResourceServer': {
        'UserPoolId': 'string',
        'Identifier': 'string',
        'Name': 'string',
        'Scopes': [
            {
                'ScopeName': 'string',
                'ScopeDescription': 'string'
            },
        ]
    }
}

Response Structure

  • (dict) --

    • ResourceServer (dict) --

      The resource server.

      • UserPoolId (string) --

        The user pool ID for the user pool that hosts the resource server.

      • Identifier (string) --

        The identifier for the resource server.

      • Name (string) --

        The name of the resource server.

      • Scopes (list) --

        A list of scopes that are defined for the resource server.

        • (dict) --

          A resource server scope.

          • ScopeName (string) --

            The name of the scope.

          • ScopeDescription (string) --

            A description of the scope.

ListResourceServers (new) Link ¶

Lists the resource servers for a user pool.

See also: AWS API Documentation

Request Syntax

client.list_resource_servers(
    UserPoolId='string',
    MaxResults=123,
    NextToken='string'
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID for the user pool.

type MaxResults:

integer

param MaxResults:

The maximum number of resource servers to return.

type NextToken:

string

param NextToken:

A pagination token.

rtype:

dict

returns:

Response Syntax

{
    'ResourceServers': [
        {
            'UserPoolId': 'string',
            'Identifier': 'string',
            'Name': 'string',
            'Scopes': [
                {
                    'ScopeName': 'string',
                    'ScopeDescription': 'string'
                },
            ]
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • ResourceServers (list) --

      The resource servers.

      • (dict) --

        A container for information about a resource server for a user pool.

        • UserPoolId (string) --

          The user pool ID for the user pool that hosts the resource server.

        • Identifier (string) --

          The identifier for the resource server.

        • Name (string) --

          The name of the resource server.

        • Scopes (list) --

          A list of scopes that are defined for the resource server.

          • (dict) --

            A resource server scope.

            • ScopeName (string) --

              The name of the scope.

            • ScopeDescription (string) --

              A description of the scope.

    • NextToken (string) --

      A pagination token.

GetUICustomization (new) Link ¶

Gets the UI Customization information for a particular app client's app UI, if there is something set. If nothing is set for the particular client, but there is an existing pool level customization (app clientId will be ALL), then that is returned. If nothing is present, then an empty shape is returned.

See also: AWS API Documentation

Request Syntax

client.get_ui_customization(
    UserPoolId='string',
    ClientId='string'
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID for the user pool.

type ClientId:

string

param ClientId:

The client ID for the client app.

rtype:

dict

returns:

Response Syntax

{
    'UICustomization': {
        'UserPoolId': 'string',
        'ClientId': 'string',
        'ImageUrl': 'string',
        'CSS': 'string',
        'CSSVersion': 'string',
        'LastModifiedDate': datetime(2015, 1, 1),
        'CreationDate': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • UICustomization (dict) --

      The UI customization information.

      • UserPoolId (string) --

        The user pool ID for the user pool.

      • ClientId (string) --

        The client ID for the client app.

      • ImageUrl (string) --

        The logo image for the UI customization.

      • CSS (string) --

        The CSS values in the UI customization.

      • CSSVersion (string) --

        The CSS version number.

      • LastModifiedDate (datetime) --

        The last-modified date for the UI customization.

      • CreationDate (datetime) --

        The creation date for the UI customization.

AdminDisableProviderForUser (new) Link ¶

Disables the user from signing in with the specified external (SAML or social) identity provider. If the user to disable is a Cognito User Pools native username + password user, they are not permitted to use their password to sign-in. If the user to disable is a linked external IdP user, any link between that user and an existing user is removed. The next time the external user (no longer attached to the previously linked DestinationUser) signs in, they must create a new user account. See AdminLinkProviderForUser.

This action is enabled only for admin access and requires developer credentials.

The ProviderName must match the value specified when creating an IdP for the pool.

To disable a native username + password user, the ProviderName value must be Cognito and the ProviderAttributeName must be Cognito_Subject, with the ProviderAttributeValue being the name that is used in the user pool for the user.

The ProviderAttributeName must always be Cognito_Subject for social identity providers. The ProviderAttributeValue must always be the exact subject that was used when the user was originally linked as a source user.

For de-linking a SAML identity, there are two scenarios. If the linked identity has not yet been used to sign-in, the ProviderAttributeName and ProviderAttributeValue must be the same values that were used for the SourceUser when the identities were originally linked in the AdminLinkProviderForUser call. (If the linking was done with ProviderAttributeName set to Cognito_Subject, the same applies here). However, if the user has already signed in, the ProviderAttributeName must be Cognito_Subject and ProviderAttributeValue must be the subject of the SAML assertion.

See also: AWS API Documentation

Request Syntax

client.admin_disable_provider_for_user(
    UserPoolId='string',
    User={
        'ProviderName': 'string',
        'ProviderAttributeName': 'string',
        'ProviderAttributeValue': 'string'
    }
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID for the user pool.

type User:

dict

param User:

[REQUIRED]

The user to be disabled.

  • ProviderName (string) --

    The name of the provider, for example, Facebook, Google, or Login with Amazon.

  • ProviderAttributeName (string) --

    The name of the provider attribute to link to, for example, NameID.

  • ProviderAttributeValue (string) --

    The value of the provider attribute to link to, for example, xxxxx_account.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

DescribeResourceServer (new) Link ¶

Describes a resource server.

See also: AWS API Documentation

Request Syntax

client.describe_resource_server(
    UserPoolId='string',
    Identifier='string'
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID for the user pool that hosts the resource server.

type Identifier:

string

param Identifier:

[REQUIRED]

The identifier for the resource server

rtype:

dict

returns:

Response Syntax

{
    'ResourceServer': {
        'UserPoolId': 'string',
        'Identifier': 'string',
        'Name': 'string',
        'Scopes': [
            {
                'ScopeName': 'string',
                'ScopeDescription': 'string'
            },
        ]
    }
}

Response Structure

  • (dict) --

    • ResourceServer (dict) --

      The resource server.

      • UserPoolId (string) --

        The user pool ID for the user pool that hosts the resource server.

      • Identifier (string) --

        The identifier for the resource server.

      • Name (string) --

        The name of the resource server.

      • Scopes (list) --

        A list of scopes that are defined for the resource server.

        • (dict) --

          A resource server scope.

          • ScopeName (string) --

            The name of the scope.

          • ScopeDescription (string) --

            A description of the scope.

CreateIdentityProvider (updated) Link ¶
Changes (request, response)
Request
{'ProviderType': {'LoginWithAmazon', 'Facebook', 'Google'}}
Response
{'IdentityProvider': {'ProviderType': {'Facebook',
                                       'Google',
                                       'LoginWithAmazon'}}}

Creates an identity provider for a user pool.

See also: AWS API Documentation

Request Syntax

client.create_identity_provider(
    UserPoolId='string',
    ProviderName='string',
    ProviderType='SAML'|'Facebook'|'Google'|'LoginWithAmazon',
    ProviderDetails={
        'string': 'string'
    },
    AttributeMapping={
        'string': 'string'
    },
    IdpIdentifiers=[
        'string',
    ]
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID.

type ProviderName:

string

param ProviderName:

[REQUIRED]

The identity provider name.

type ProviderType:

string

param ProviderType:

[REQUIRED]

The identity provider type.

type ProviderDetails:

dict

param ProviderDetails:

[REQUIRED]

The identity provider details, such as MetadataURL and MetadataFile.

  • (string) --

    • (string) --

type AttributeMapping:

dict

param AttributeMapping:

A mapping of identity provider attributes to standard and custom user pool attributes.

  • (string) --

    • (string) --

type IdpIdentifiers:

list

param IdpIdentifiers:

A list of identity provider identifiers.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'IdentityProvider': {
        'UserPoolId': 'string',
        'ProviderName': 'string',
        'ProviderType': 'SAML'|'Facebook'|'Google'|'LoginWithAmazon',
        'ProviderDetails': {
            'string': 'string'
        },
        'AttributeMapping': {
            'string': 'string'
        },
        'IdpIdentifiers': [
            'string',
        ],
        'LastModifiedDate': datetime(2015, 1, 1),
        'CreationDate': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • IdentityProvider (dict) --

      The newly created identity provider object.

      • UserPoolId (string) --

        The user pool ID.

      • ProviderName (string) --

        The identity provider name.

      • ProviderType (string) --

        The identity provider type.

      • ProviderDetails (dict) --

        The identity provider details, such as MetadataURL and MetadataFile.

        • (string) --

          • (string) --

      • AttributeMapping (dict) --

        A mapping of identity provider attributes to standard and custom user pool attributes.

        • (string) --

          • (string) --

      • IdpIdentifiers (list) --

        A list of identity provider identifiers.

        • (string) --

      • LastModifiedDate (datetime) --

        The date the identity provider was last modified.

      • CreationDate (datetime) --

        The date the identity provider was created.

CreateUserPool (updated) Link ¶
Changes (request, response)
Request
{'VerificationMessageTemplate': {'DefaultEmailOption': 'CONFIRM_WITH_LINK | '
                                                       'CONFIRM_WITH_CODE',
                                 'EmailMessage': 'string',
                                 'EmailMessageByLink': 'string',
                                 'EmailSubject': 'string',
                                 'EmailSubjectByLink': 'string',
                                 'SmsMessage': 'string'}}
Response
{'UserPool': {'VerificationMessageTemplate': {'DefaultEmailOption': 'CONFIRM_WITH_LINK '
                                                                    '| '
                                                                    'CONFIRM_WITH_CODE',
                                              'EmailMessage': 'string',
                                              'EmailMessageByLink': 'string',
                                              'EmailSubject': 'string',
                                              'EmailSubjectByLink': 'string',
                                              'SmsMessage': 'string'}}}

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

See also: AWS API Documentation

Request Syntax

client.create_user_pool(
    PoolName='string',
    Policies={
        'PasswordPolicy': {
            'MinimumLength': 123,
            'RequireUppercase': True|False,
            'RequireLowercase': True|False,
            'RequireNumbers': True|False,
            'RequireSymbols': True|False
        }
    },
    LambdaConfig={
        'PreSignUp': 'string',
        'CustomMessage': 'string',
        'PostConfirmation': 'string',
        'PreAuthentication': 'string',
        'PostAuthentication': 'string',
        'DefineAuthChallenge': 'string',
        'CreateAuthChallenge': 'string',
        'VerifyAuthChallengeResponse': 'string'
    },
    AutoVerifiedAttributes=[
        'phone_number'|'email',
    ],
    AliasAttributes=[
        'phone_number'|'email'|'preferred_username',
    ],
    UsernameAttributes=[
        'phone_number'|'email',
    ],
    SmsVerificationMessage='string',
    EmailVerificationMessage='string',
    EmailVerificationSubject='string',
    VerificationMessageTemplate={
        'SmsMessage': 'string',
        'EmailMessage': 'string',
        'EmailSubject': 'string',
        'EmailMessageByLink': 'string',
        'EmailSubjectByLink': 'string',
        'DefaultEmailOption': 'CONFIRM_WITH_LINK'|'CONFIRM_WITH_CODE'
    },
    SmsAuthenticationMessage='string',
    MfaConfiguration='OFF'|'ON'|'OPTIONAL',
    DeviceConfiguration={
        'ChallengeRequiredOnNewDevice': True|False,
        'DeviceOnlyRememberedOnUserPrompt': True|False
    },
    EmailConfiguration={
        'SourceArn': 'string',
        'ReplyToEmailAddress': 'string'
    },
    SmsConfiguration={
        'SnsCallerArn': 'string',
        'ExternalId': 'string'
    },
    UserPoolTags={
        'string': 'string'
    },
    AdminCreateUserConfig={
        'AllowAdminCreateUserOnly': True|False,
        'UnusedAccountValidityDays': 123,
        'InviteMessageTemplate': {
            'SMSMessage': 'string',
            'EmailMessage': 'string',
            'EmailSubject': 'string'
        }
    },
    Schema=[
        {
            'Name': 'string',
            'AttributeDataType': 'String'|'Number'|'DateTime'|'Boolean',
            'DeveloperOnlyAttribute': True|False,
            'Mutable': True|False,
            'Required': True|False,
            'NumberAttributeConstraints': {
                'MinValue': 'string',
                'MaxValue': 'string'
            },
            'StringAttributeConstraints': {
                'MinLength': 'string',
                'MaxLength': 'string'
            }
        },
    ]
)
type PoolName:

string

param PoolName:

[REQUIRED]

A string used to name the user pool.

type Policies:

dict

param Policies:

The policies associated with the new user pool.

  • PasswordPolicy (dict) --

    A container for information about the user pool password policy.

    • MinimumLength (integer) --

      The minimum length of the password policy that you have set. Cannot be less than 6.

    • RequireUppercase (boolean) --

      In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password.

    • RequireLowercase (boolean) --

      In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password.

    • RequireNumbers (boolean) --

      In the password policy that you have set, refers to whether you have required users to use at least one number in their password.

    • RequireSymbols (boolean) --

      In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password.

type LambdaConfig:

dict

param LambdaConfig:

The Lambda trigger configuration information for the new user pool.

  • PreSignUp (string) --

    A pre-registration AWS Lambda trigger.

  • CustomMessage (string) --

    A custom Message AWS Lambda trigger.

  • PostConfirmation (string) --

    A post-confirmation AWS Lambda trigger.

  • PreAuthentication (string) --

    A pre-authentication AWS Lambda trigger.

  • PostAuthentication (string) --

    A post-authentication AWS Lambda trigger.

  • DefineAuthChallenge (string) --

    Defines the authentication challenge.

  • CreateAuthChallenge (string) --

    Creates an authentication challenge.

  • VerifyAuthChallengeResponse (string) --

    Verifies the authentication challenge response.

type AutoVerifiedAttributes:

list

param AutoVerifiedAttributes:

The attributes to be auto-verified. Possible values: email, phone_number.

  • (string) --

type AliasAttributes:

list

param AliasAttributes:

Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username.

  • (string) --

type UsernameAttributes:

list

param UsernameAttributes:

Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up.

  • (string) --

type SmsVerificationMessage:

string

param SmsVerificationMessage:

A string representing the SMS verification message.

type EmailVerificationMessage:

string

param EmailVerificationMessage:

A string representing the email verification message.

type EmailVerificationSubject:

string

param EmailVerificationSubject:

A string representing the email verification subject.

type VerificationMessageTemplate:

dict

param VerificationMessageTemplate:

The template for the verification message that the user sees when the app requests permission to access the user's information.

  • SmsMessage (string) --

    The SMS message template.

  • EmailMessage (string) --

    The email message template.

  • EmailSubject (string) --

    The subject line for the email message template.

  • EmailMessageByLink (string) --

    The email message template for sending a confirmation link to the user.

  • EmailSubjectByLink (string) --

    The subject line for the email message template for sending a confirmation link to the user.

  • DefaultEmailOption (string) --

    The default email option.

type SmsAuthenticationMessage:

string

param SmsAuthenticationMessage:

A string representing the SMS authentication message.

type MfaConfiguration:

string

param MfaConfiguration:

Specifies MFA configuration details.

type DeviceConfiguration:

dict

param DeviceConfiguration:

The device configuration.

  • ChallengeRequiredOnNewDevice (boolean) --

    Indicates whether a challenge is required on a new device. Only applicable to a new device.

  • DeviceOnlyRememberedOnUserPrompt (boolean) --

    If true, a device is only remembered on user prompt.

type EmailConfiguration:

dict

param EmailConfiguration:

The email configuration.

  • SourceArn (string) --

    The Amazon Resource Name (ARN) of the email source.

  • ReplyToEmailAddress (string) --

    The REPLY-TO email address.

type SmsConfiguration:

dict

param SmsConfiguration:

The SMS configuration.

  • SnsCallerArn (string) -- [REQUIRED]

    The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller.

  • ExternalId (string) --

    The external ID.

type UserPoolTags:

dict

param UserPoolTags:

The cost allocation tags for the user pool. For more information, see Adding Cost Allocation Tags to Your User Pool

  • (string) --

    • (string) --

type AdminCreateUserConfig:

dict

param AdminCreateUserConfig:

The configuration for AdminCreateUser requests.

  • AllowAdminCreateUserOnly (boolean) --

    Set to True if only the administrator is allowed to create user profiles. Set to False if users can sign themselves up via an app.

  • UnusedAccountValidityDays (integer) --

    The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, specifying "RESEND" for the MessageAction parameter. The default value for this parameter is 7.

  • InviteMessageTemplate (dict) --

    The message template to be used for the welcome message to new users.

    • SMSMessage (string) --

      The message template for SMS messages.

    • EmailMessage (string) --

      The message template for email messages.

    • EmailSubject (string) --

      The subject line for email messages.

type Schema:

list

param Schema:

An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.

  • (dict) --

    Contains information about the schema attribute.

    • Name (string) --

      A schema attribute of the name type.

    • AttributeDataType (string) --

      The attribute data type.

    • DeveloperOnlyAttribute (boolean) --

      Specifies whether the attribute type is developer only.

    • Mutable (boolean) --

      Specifies whether the attribute can be changed once it has been created.

    • Required (boolean) --

      Specifies whether a user pool attribute is required. If the attribute is required and the user does not provide a value, registration or sign-in will fail.

    • NumberAttributeConstraints (dict) --

      Specifies the constraints for an attribute of the number type.

      • MinValue (string) --

        The minimum value of an attribute that is of the number data type.

      • MaxValue (string) --

        The maximum value of an attribute that is of the number data type.

    • StringAttributeConstraints (dict) --

      Specifies the constraints for an attribute of the string type.

      • MinLength (string) --

        The minimum length of an attribute value of the string type.

      • MaxLength (string) --

        The maximum length of an attribute value of the string type.

rtype:

dict

returns:

Response Syntax

{
    'UserPool': {
        'Id': 'string',
        'Name': 'string',
        'Policies': {
            'PasswordPolicy': {
                'MinimumLength': 123,
                'RequireUppercase': True|False,
                'RequireLowercase': True|False,
                'RequireNumbers': True|False,
                'RequireSymbols': True|False
            }
        },
        'LambdaConfig': {
            'PreSignUp': 'string',
            'CustomMessage': 'string',
            'PostConfirmation': 'string',
            'PreAuthentication': 'string',
            'PostAuthentication': 'string',
            'DefineAuthChallenge': 'string',
            'CreateAuthChallenge': 'string',
            'VerifyAuthChallengeResponse': 'string'
        },
        'Status': 'Enabled'|'Disabled',
        'LastModifiedDate': datetime(2015, 1, 1),
        'CreationDate': datetime(2015, 1, 1),
        'SchemaAttributes': [
            {
                'Name': 'string',
                'AttributeDataType': 'String'|'Number'|'DateTime'|'Boolean',
                'DeveloperOnlyAttribute': True|False,
                'Mutable': True|False,
                'Required': True|False,
                'NumberAttributeConstraints': {
                    'MinValue': 'string',
                    'MaxValue': 'string'
                },
                'StringAttributeConstraints': {
                    'MinLength': 'string',
                    'MaxLength': 'string'
                }
            },
        ],
        'AutoVerifiedAttributes': [
            'phone_number'|'email',
        ],
        'AliasAttributes': [
            'phone_number'|'email'|'preferred_username',
        ],
        'UsernameAttributes': [
            'phone_number'|'email',
        ],
        'SmsVerificationMessage': 'string',
        'EmailVerificationMessage': 'string',
        'EmailVerificationSubject': 'string',
        'VerificationMessageTemplate': {
            'SmsMessage': 'string',
            'EmailMessage': 'string',
            'EmailSubject': 'string',
            'EmailMessageByLink': 'string',
            'EmailSubjectByLink': 'string',
            'DefaultEmailOption': 'CONFIRM_WITH_LINK'|'CONFIRM_WITH_CODE'
        },
        'SmsAuthenticationMessage': 'string',
        'MfaConfiguration': 'OFF'|'ON'|'OPTIONAL',
        'DeviceConfiguration': {
            'ChallengeRequiredOnNewDevice': True|False,
            'DeviceOnlyRememberedOnUserPrompt': True|False
        },
        'EstimatedNumberOfUsers': 123,
        'EmailConfiguration': {
            'SourceArn': 'string',
            'ReplyToEmailAddress': 'string'
        },
        'SmsConfiguration': {
            'SnsCallerArn': 'string',
            'ExternalId': 'string'
        },
        'UserPoolTags': {
            'string': 'string'
        },
        'SmsConfigurationFailure': 'string',
        'EmailConfigurationFailure': 'string',
        'AdminCreateUserConfig': {
            'AllowAdminCreateUserOnly': True|False,
            'UnusedAccountValidityDays': 123,
            'InviteMessageTemplate': {
                'SMSMessage': 'string',
                'EmailMessage': 'string',
                'EmailSubject': 'string'
            }
        }
    }
}

Response Structure

  • (dict) --

    Represents the response from the server for the request to create a user pool.

    • UserPool (dict) --

      A container for the user pool details.

      • Id (string) --

        The ID of the user pool.

      • Name (string) --

        The name of the user pool.

      • Policies (dict) --

        A container for the policies associated with a user pool.

        • PasswordPolicy (dict) --

          A container for information about the user pool password policy.

          • MinimumLength (integer) --

            The minimum length of the password policy that you have set. Cannot be less than 6.

          • RequireUppercase (boolean) --

            In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password.

          • RequireLowercase (boolean) --

            In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password.

          • RequireNumbers (boolean) --

            In the password policy that you have set, refers to whether you have required users to use at least one number in their password.

          • RequireSymbols (boolean) --

            In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password.

      • LambdaConfig (dict) --

        A container for the AWS Lambda triggers associated with a user pool.

        • PreSignUp (string) --

          A pre-registration AWS Lambda trigger.

        • CustomMessage (string) --

          A custom Message AWS Lambda trigger.

        • PostConfirmation (string) --

          A post-confirmation AWS Lambda trigger.

        • PreAuthentication (string) --

          A pre-authentication AWS Lambda trigger.

        • PostAuthentication (string) --

          A post-authentication AWS Lambda trigger.

        • DefineAuthChallenge (string) --

          Defines the authentication challenge.

        • CreateAuthChallenge (string) --

          Creates an authentication challenge.

        • VerifyAuthChallengeResponse (string) --

          Verifies the authentication challenge response.

      • Status (string) --

        The status of a user pool.

      • LastModifiedDate (datetime) --

        The date the user pool was last modified.

      • CreationDate (datetime) --

        The date the user pool was created.

      • SchemaAttributes (list) --

        A container with the schema attributes of a user pool.

        • (dict) --

          Contains information about the schema attribute.

          • Name (string) --

            A schema attribute of the name type.

          • AttributeDataType (string) --

            The attribute data type.

          • DeveloperOnlyAttribute (boolean) --

            Specifies whether the attribute type is developer only.

          • Mutable (boolean) --

            Specifies whether the attribute can be changed once it has been created.

          • Required (boolean) --

            Specifies whether a user pool attribute is required. If the attribute is required and the user does not provide a value, registration or sign-in will fail.

          • NumberAttributeConstraints (dict) --

            Specifies the constraints for an attribute of the number type.

            • MinValue (string) --

              The minimum value of an attribute that is of the number data type.

            • MaxValue (string) --

              The maximum value of an attribute that is of the number data type.

          • StringAttributeConstraints (dict) --

            Specifies the constraints for an attribute of the string type.

            • MinLength (string) --

              The minimum length of an attribute value of the string type.

            • MaxLength (string) --

              The maximum length of an attribute value of the string type.

      • AutoVerifiedAttributes (list) --

        Specifies the attributes that are auto-verified in a user pool.

        • (string) --

      • AliasAttributes (list) --

        Specifies the attributes that are aliased in a user pool.

        • (string) --

      • UsernameAttributes (list) --

        Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up.

        • (string) --

      • SmsVerificationMessage (string) --

        The contents of the SMS verification message.

      • EmailVerificationMessage (string) --

        The contents of the email verification message.

      • EmailVerificationSubject (string) --

        The subject of the email verification message.

      • VerificationMessageTemplate (dict) --

        The template for verification messages.

        • SmsMessage (string) --

          The SMS message template.

        • EmailMessage (string) --

          The email message template.

        • EmailSubject (string) --

          The subject line for the email message template.

        • EmailMessageByLink (string) --

          The email message template for sending a confirmation link to the user.

        • EmailSubjectByLink (string) --

          The subject line for the email message template for sending a confirmation link to the user.

        • DefaultEmailOption (string) --

          The default email option.

      • SmsAuthenticationMessage (string) --

        The contents of the SMS authentication message.

      • MfaConfiguration (string) --

        Can be one of the following values:

        • OFF - MFA tokens are not required and cannot be specified during user registration.

        • ON - MFA tokens are required for all user registrations. You can only specify required when you are initially creating a user pool.

        • OPTIONAL - Users have the option when registering to create an MFA token.

      • DeviceConfiguration (dict) --

        The device configuration.

        • ChallengeRequiredOnNewDevice (boolean) --

          Indicates whether a challenge is required on a new device. Only applicable to a new device.

        • DeviceOnlyRememberedOnUserPrompt (boolean) --

          If true, a device is only remembered on user prompt.

      • EstimatedNumberOfUsers (integer) --

        A number estimating the size of the user pool.

      • EmailConfiguration (dict) --

        The email configuration.

        • SourceArn (string) --

          The Amazon Resource Name (ARN) of the email source.

        • ReplyToEmailAddress (string) --

          The REPLY-TO email address.

      • SmsConfiguration (dict) --

        The SMS configuration.

        • SnsCallerArn (string) --

          The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller.

        • ExternalId (string) --

          The external ID.

      • UserPoolTags (dict) --

        The cost allocation tags for the user pool. For more information, see Adding Cost Allocation Tags to Your User Pool

        • (string) --

          • (string) --

      • SmsConfigurationFailure (string) --

        The reason why the SMS configuration cannot send the messages to your users.

      • EmailConfigurationFailure (string) --

        The reason why the email configuration cannot send the messages to your users.

      • AdminCreateUserConfig (dict) --

        The configuration for AdminCreateUser requests.

        • AllowAdminCreateUserOnly (boolean) --

          Set to True if only the administrator is allowed to create user profiles. Set to False if users can sign themselves up via an app.

        • UnusedAccountValidityDays (integer) --

          The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, specifying "RESEND" for the MessageAction parameter. The default value for this parameter is 7.

        • InviteMessageTemplate (dict) --

          The message template to be used for the welcome message to new users.

          • SMSMessage (string) --

            The message template for SMS messages.

          • EmailMessage (string) --

            The message template for email messages.

          • EmailSubject (string) --

            The subject line for email messages.

DescribeIdentityProvider (updated) Link ¶
Changes (response)
{'IdentityProvider': {'ProviderType': {'Facebook',
                                       'Google',
                                       'LoginWithAmazon'}}}

Gets information about a specific identity provider.

See also: AWS API Documentation

Request Syntax

client.describe_identity_provider(
    UserPoolId='string',
    ProviderName='string'
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID.

type ProviderName:

string

param ProviderName:

[REQUIRED]

The identity provider name.

rtype:

dict

returns:

Response Syntax

{
    'IdentityProvider': {
        'UserPoolId': 'string',
        'ProviderName': 'string',
        'ProviderType': 'SAML'|'Facebook'|'Google'|'LoginWithAmazon',
        'ProviderDetails': {
            'string': 'string'
        },
        'AttributeMapping': {
            'string': 'string'
        },
        'IdpIdentifiers': [
            'string',
        ],
        'LastModifiedDate': datetime(2015, 1, 1),
        'CreationDate': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • IdentityProvider (dict) --

      The identity provider that was deleted.

      • UserPoolId (string) --

        The user pool ID.

      • ProviderName (string) --

        The identity provider name.

      • ProviderType (string) --

        The identity provider type.

      • ProviderDetails (dict) --

        The identity provider details, such as MetadataURL and MetadataFile.

        • (string) --

          • (string) --

      • AttributeMapping (dict) --

        A mapping of identity provider attributes to standard and custom user pool attributes.

        • (string) --

          • (string) --

      • IdpIdentifiers (list) --

        A list of identity provider identifiers.

        • (string) --

      • LastModifiedDate (datetime) --

        The date the identity provider was last modified.

      • CreationDate (datetime) --

        The date the identity provider was created.

DescribeUserPool (updated) Link ¶
Changes (response)
{'UserPool': {'VerificationMessageTemplate': {'DefaultEmailOption': 'CONFIRM_WITH_LINK '
                                                                    '| '
                                                                    'CONFIRM_WITH_CODE',
                                              'EmailMessage': 'string',
                                              'EmailMessageByLink': 'string',
                                              'EmailSubject': 'string',
                                              'EmailSubjectByLink': 'string',
                                              'SmsMessage': 'string'}}}

Returns the configuration information and metadata of the specified user pool.

See also: AWS API Documentation

Request Syntax

client.describe_user_pool(
    UserPoolId='string'
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID for the user pool you want to describe.

rtype:

dict

returns:

Response Syntax

{
    'UserPool': {
        'Id': 'string',
        'Name': 'string',
        'Policies': {
            'PasswordPolicy': {
                'MinimumLength': 123,
                'RequireUppercase': True|False,
                'RequireLowercase': True|False,
                'RequireNumbers': True|False,
                'RequireSymbols': True|False
            }
        },
        'LambdaConfig': {
            'PreSignUp': 'string',
            'CustomMessage': 'string',
            'PostConfirmation': 'string',
            'PreAuthentication': 'string',
            'PostAuthentication': 'string',
            'DefineAuthChallenge': 'string',
            'CreateAuthChallenge': 'string',
            'VerifyAuthChallengeResponse': 'string'
        },
        'Status': 'Enabled'|'Disabled',
        'LastModifiedDate': datetime(2015, 1, 1),
        'CreationDate': datetime(2015, 1, 1),
        'SchemaAttributes': [
            {
                'Name': 'string',
                'AttributeDataType': 'String'|'Number'|'DateTime'|'Boolean',
                'DeveloperOnlyAttribute': True|False,
                'Mutable': True|False,
                'Required': True|False,
                'NumberAttributeConstraints': {
                    'MinValue': 'string',
                    'MaxValue': 'string'
                },
                'StringAttributeConstraints': {
                    'MinLength': 'string',
                    'MaxLength': 'string'
                }
            },
        ],
        'AutoVerifiedAttributes': [
            'phone_number'|'email',
        ],
        'AliasAttributes': [
            'phone_number'|'email'|'preferred_username',
        ],
        'UsernameAttributes': [
            'phone_number'|'email',
        ],
        'SmsVerificationMessage': 'string',
        'EmailVerificationMessage': 'string',
        'EmailVerificationSubject': 'string',
        'VerificationMessageTemplate': {
            'SmsMessage': 'string',
            'EmailMessage': 'string',
            'EmailSubject': 'string',
            'EmailMessageByLink': 'string',
            'EmailSubjectByLink': 'string',
            'DefaultEmailOption': 'CONFIRM_WITH_LINK'|'CONFIRM_WITH_CODE'
        },
        'SmsAuthenticationMessage': 'string',
        'MfaConfiguration': 'OFF'|'ON'|'OPTIONAL',
        'DeviceConfiguration': {
            'ChallengeRequiredOnNewDevice': True|False,
            'DeviceOnlyRememberedOnUserPrompt': True|False
        },
        'EstimatedNumberOfUsers': 123,
        'EmailConfiguration': {
            'SourceArn': 'string',
            'ReplyToEmailAddress': 'string'
        },
        'SmsConfiguration': {
            'SnsCallerArn': 'string',
            'ExternalId': 'string'
        },
        'UserPoolTags': {
            'string': 'string'
        },
        'SmsConfigurationFailure': 'string',
        'EmailConfigurationFailure': 'string',
        'AdminCreateUserConfig': {
            'AllowAdminCreateUserOnly': True|False,
            'UnusedAccountValidityDays': 123,
            'InviteMessageTemplate': {
                'SMSMessage': 'string',
                'EmailMessage': 'string',
                'EmailSubject': 'string'
            }
        }
    }
}

Response Structure

  • (dict) --

    Represents the response to describe the user pool.

    • UserPool (dict) --

      The container of metadata returned by the server to describe the pool.

      • Id (string) --

        The ID of the user pool.

      • Name (string) --

        The name of the user pool.

      • Policies (dict) --

        A container for the policies associated with a user pool.

        • PasswordPolicy (dict) --

          A container for information about the user pool password policy.

          • MinimumLength (integer) --

            The minimum length of the password policy that you have set. Cannot be less than 6.

          • RequireUppercase (boolean) --

            In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password.

          • RequireLowercase (boolean) --

            In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password.

          • RequireNumbers (boolean) --

            In the password policy that you have set, refers to whether you have required users to use at least one number in their password.

          • RequireSymbols (boolean) --

            In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password.

      • LambdaConfig (dict) --

        A container for the AWS Lambda triggers associated with a user pool.

        • PreSignUp (string) --

          A pre-registration AWS Lambda trigger.

        • CustomMessage (string) --

          A custom Message AWS Lambda trigger.

        • PostConfirmation (string) --

          A post-confirmation AWS Lambda trigger.

        • PreAuthentication (string) --

          A pre-authentication AWS Lambda trigger.

        • PostAuthentication (string) --

          A post-authentication AWS Lambda trigger.

        • DefineAuthChallenge (string) --

          Defines the authentication challenge.

        • CreateAuthChallenge (string) --

          Creates an authentication challenge.

        • VerifyAuthChallengeResponse (string) --

          Verifies the authentication challenge response.

      • Status (string) --

        The status of a user pool.

      • LastModifiedDate (datetime) --

        The date the user pool was last modified.

      • CreationDate (datetime) --

        The date the user pool was created.

      • SchemaAttributes (list) --

        A container with the schema attributes of a user pool.

        • (dict) --

          Contains information about the schema attribute.

          • Name (string) --

            A schema attribute of the name type.

          • AttributeDataType (string) --

            The attribute data type.

          • DeveloperOnlyAttribute (boolean) --

            Specifies whether the attribute type is developer only.

          • Mutable (boolean) --

            Specifies whether the attribute can be changed once it has been created.

          • Required (boolean) --

            Specifies whether a user pool attribute is required. If the attribute is required and the user does not provide a value, registration or sign-in will fail.

          • NumberAttributeConstraints (dict) --

            Specifies the constraints for an attribute of the number type.

            • MinValue (string) --

              The minimum value of an attribute that is of the number data type.

            • MaxValue (string) --

              The maximum value of an attribute that is of the number data type.

          • StringAttributeConstraints (dict) --

            Specifies the constraints for an attribute of the string type.

            • MinLength (string) --

              The minimum length of an attribute value of the string type.

            • MaxLength (string) --

              The maximum length of an attribute value of the string type.

      • AutoVerifiedAttributes (list) --

        Specifies the attributes that are auto-verified in a user pool.

        • (string) --

      • AliasAttributes (list) --

        Specifies the attributes that are aliased in a user pool.

        • (string) --

      • UsernameAttributes (list) --

        Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up.

        • (string) --

      • SmsVerificationMessage (string) --

        The contents of the SMS verification message.

      • EmailVerificationMessage (string) --

        The contents of the email verification message.

      • EmailVerificationSubject (string) --

        The subject of the email verification message.

      • VerificationMessageTemplate (dict) --

        The template for verification messages.

        • SmsMessage (string) --

          The SMS message template.

        • EmailMessage (string) --

          The email message template.

        • EmailSubject (string) --

          The subject line for the email message template.

        • EmailMessageByLink (string) --

          The email message template for sending a confirmation link to the user.

        • EmailSubjectByLink (string) --

          The subject line for the email message template for sending a confirmation link to the user.

        • DefaultEmailOption (string) --

          The default email option.

      • SmsAuthenticationMessage (string) --

        The contents of the SMS authentication message.

      • MfaConfiguration (string) --

        Can be one of the following values:

        • OFF - MFA tokens are not required and cannot be specified during user registration.

        • ON - MFA tokens are required for all user registrations. You can only specify required when you are initially creating a user pool.

        • OPTIONAL - Users have the option when registering to create an MFA token.

      • DeviceConfiguration (dict) --

        The device configuration.

        • ChallengeRequiredOnNewDevice (boolean) --

          Indicates whether a challenge is required on a new device. Only applicable to a new device.

        • DeviceOnlyRememberedOnUserPrompt (boolean) --

          If true, a device is only remembered on user prompt.

      • EstimatedNumberOfUsers (integer) --

        A number estimating the size of the user pool.

      • EmailConfiguration (dict) --

        The email configuration.

        • SourceArn (string) --

          The Amazon Resource Name (ARN) of the email source.

        • ReplyToEmailAddress (string) --

          The REPLY-TO email address.

      • SmsConfiguration (dict) --

        The SMS configuration.

        • SnsCallerArn (string) --

          The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller.

        • ExternalId (string) --

          The external ID.

      • UserPoolTags (dict) --

        The cost allocation tags for the user pool. For more information, see Adding Cost Allocation Tags to Your User Pool

        • (string) --

          • (string) --

      • SmsConfigurationFailure (string) --

        The reason why the SMS configuration cannot send the messages to your users.

      • EmailConfigurationFailure (string) --

        The reason why the email configuration cannot send the messages to your users.

      • AdminCreateUserConfig (dict) --

        The configuration for AdminCreateUser requests.

        • AllowAdminCreateUserOnly (boolean) --

          Set to True if only the administrator is allowed to create user profiles. Set to False if users can sign themselves up via an app.

        • UnusedAccountValidityDays (integer) --

          The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, specifying "RESEND" for the MessageAction parameter. The default value for this parameter is 7.

        • InviteMessageTemplate (dict) --

          The message template to be used for the welcome message to new users.

          • SMSMessage (string) --

            The message template for SMS messages.

          • EmailMessage (string) --

            The message template for email messages.

          • EmailSubject (string) --

            The subject line for email messages.

DescribeUserPoolDomain (updated) Link ¶
Changes (response)
{'DomainDescription': {'Status': {'FAILED'}}}

Gets information about a domain.

See also: AWS API Documentation

Request Syntax

client.describe_user_pool_domain(
    Domain='string'
)
type Domain:

string

param Domain:

[REQUIRED]

The domain string.

rtype:

dict

returns:

Response Syntax

{
    'DomainDescription': {
        'UserPoolId': 'string',
        'AWSAccountId': 'string',
        'Domain': 'string',
        'S3Bucket': 'string',
        'CloudFrontDistribution': 'string',
        'Version': 'string',
        'Status': 'CREATING'|'DELETING'|'UPDATING'|'ACTIVE'|'FAILED'
    }
}

Response Structure

  • (dict) --

    • DomainDescription (dict) --

      A domain description object containing information about the domain.

      • UserPoolId (string) --

        The user pool ID.

      • AWSAccountId (string) --

        The AWS account ID for the user pool owner.

      • Domain (string) --

        The domain string.

      • S3Bucket (string) --

        The S3 bucket where the static files for this domain are stored.

      • CloudFrontDistribution (string) --

        The ARN of the CloudFront distribution.

      • Version (string) --

        The app version.

      • Status (string) --

        The domain status.

GetIdentityProviderByIdentifier (updated) Link ¶
Changes (response)
{'IdentityProvider': {'ProviderType': {'Facebook',
                                       'Google',
                                       'LoginWithAmazon'}}}

Gets the specified identity provider.

See also: AWS API Documentation

Request Syntax

client.get_identity_provider_by_identifier(
    UserPoolId='string',
    IdpIdentifier='string'
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID.

type IdpIdentifier:

string

param IdpIdentifier:

[REQUIRED]

The identity provider ID.

rtype:

dict

returns:

Response Syntax

{
    'IdentityProvider': {
        'UserPoolId': 'string',
        'ProviderName': 'string',
        'ProviderType': 'SAML'|'Facebook'|'Google'|'LoginWithAmazon',
        'ProviderDetails': {
            'string': 'string'
        },
        'AttributeMapping': {
            'string': 'string'
        },
        'IdpIdentifiers': [
            'string',
        ],
        'LastModifiedDate': datetime(2015, 1, 1),
        'CreationDate': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • IdentityProvider (dict) --

      The identity provider object.

      • UserPoolId (string) --

        The user pool ID.

      • ProviderName (string) --

        The identity provider name.

      • ProviderType (string) --

        The identity provider type.

      • ProviderDetails (dict) --

        The identity provider details, such as MetadataURL and MetadataFile.

        • (string) --

          • (string) --

      • AttributeMapping (dict) --

        A mapping of identity provider attributes to standard and custom user pool attributes.

        • (string) --

          • (string) --

      • IdpIdentifiers (list) --

        A list of identity provider identifiers.

        • (string) --

      • LastModifiedDate (datetime) --

        The date the identity provider was last modified.

      • CreationDate (datetime) --

        The date the identity provider was created.

ListIdentityProviders (updated) Link ¶
Changes (response)
{'Providers': {'ProviderType': {'LoginWithAmazon', 'Facebook', 'Google'}}}

Lists information about all identity providers for a user pool.

See also: AWS API Documentation

Request Syntax

client.list_identity_providers(
    UserPoolId='string',
    MaxResults=123,
    NextToken='string'
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID.

type MaxResults:

integer

param MaxResults:

The maximum number of identity providers to return.

type NextToken:

string

param NextToken:

A pagination token.

rtype:

dict

returns:

Response Syntax

{
    'Providers': [
        {
            'ProviderName': 'string',
            'ProviderType': 'SAML'|'Facebook'|'Google'|'LoginWithAmazon',
            'LastModifiedDate': datetime(2015, 1, 1),
            'CreationDate': datetime(2015, 1, 1)
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Providers (list) --

      A list of identity provider objects.

      • (dict) --

        A container for identity provider details.

        • ProviderName (string) --

          The identity provider name.

        • ProviderType (string) --

          The identity provider type.

        • LastModifiedDate (datetime) --

          The date the provider was last modified.

        • CreationDate (datetime) --

          The date the provider was added to the user pool.

    • NextToken (string) --

      A pagination token.

UpdateIdentityProvider (updated) Link ¶
Changes (response)
{'IdentityProvider': {'ProviderType': {'Facebook',
                                       'Google',
                                       'LoginWithAmazon'}}}

Updates identity provider information for a user pool.

See also: AWS API Documentation

Request Syntax

client.update_identity_provider(
    UserPoolId='string',
    ProviderName='string',
    ProviderDetails={
        'string': 'string'
    },
    AttributeMapping={
        'string': 'string'
    },
    IdpIdentifiers=[
        'string',
    ]
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID.

type ProviderName:

string

param ProviderName:

[REQUIRED]

The identity provider name.

type ProviderDetails:

dict

param ProviderDetails:

The identity provider details to be updated, such as MetadataURL and MetadataFile.

  • (string) --

    • (string) --

type AttributeMapping:

dict

param AttributeMapping:

The identity provider attribute mapping to be changed.

  • (string) --

    • (string) --

type IdpIdentifiers:

list

param IdpIdentifiers:

A list of identity provider identifiers.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'IdentityProvider': {
        'UserPoolId': 'string',
        'ProviderName': 'string',
        'ProviderType': 'SAML'|'Facebook'|'Google'|'LoginWithAmazon',
        'ProviderDetails': {
            'string': 'string'
        },
        'AttributeMapping': {
            'string': 'string'
        },
        'IdpIdentifiers': [
            'string',
        ],
        'LastModifiedDate': datetime(2015, 1, 1),
        'CreationDate': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • IdentityProvider (dict) --

      The identity provider object.

      • UserPoolId (string) --

        The user pool ID.

      • ProviderName (string) --

        The identity provider name.

      • ProviderType (string) --

        The identity provider type.

      • ProviderDetails (dict) --

        The identity provider details, such as MetadataURL and MetadataFile.

        • (string) --

          • (string) --

      • AttributeMapping (dict) --

        A mapping of identity provider attributes to standard and custom user pool attributes.

        • (string) --

          • (string) --

      • IdpIdentifiers (list) --

        A list of identity provider identifiers.

        • (string) --

      • LastModifiedDate (datetime) --

        The date the identity provider was last modified.

      • CreationDate (datetime) --

        The date the identity provider was created.

UpdateUserPool (updated) Link ¶
Changes (request)
{'VerificationMessageTemplate': {'DefaultEmailOption': 'CONFIRM_WITH_LINK | '
                                                       'CONFIRM_WITH_CODE',
                                 'EmailMessage': 'string',
                                 'EmailMessageByLink': 'string',
                                 'EmailSubject': 'string',
                                 'EmailSubjectByLink': 'string',
                                 'SmsMessage': 'string'}}

Updates the specified user pool with the specified attributes.

See also: AWS API Documentation

Request Syntax

client.update_user_pool(
    UserPoolId='string',
    Policies={
        'PasswordPolicy': {
            'MinimumLength': 123,
            'RequireUppercase': True|False,
            'RequireLowercase': True|False,
            'RequireNumbers': True|False,
            'RequireSymbols': True|False
        }
    },
    LambdaConfig={
        'PreSignUp': 'string',
        'CustomMessage': 'string',
        'PostConfirmation': 'string',
        'PreAuthentication': 'string',
        'PostAuthentication': 'string',
        'DefineAuthChallenge': 'string',
        'CreateAuthChallenge': 'string',
        'VerifyAuthChallengeResponse': 'string'
    },
    AutoVerifiedAttributes=[
        'phone_number'|'email',
    ],
    SmsVerificationMessage='string',
    EmailVerificationMessage='string',
    EmailVerificationSubject='string',
    VerificationMessageTemplate={
        'SmsMessage': 'string',
        'EmailMessage': 'string',
        'EmailSubject': 'string',
        'EmailMessageByLink': 'string',
        'EmailSubjectByLink': 'string',
        'DefaultEmailOption': 'CONFIRM_WITH_LINK'|'CONFIRM_WITH_CODE'
    },
    SmsAuthenticationMessage='string',
    MfaConfiguration='OFF'|'ON'|'OPTIONAL',
    DeviceConfiguration={
        'ChallengeRequiredOnNewDevice': True|False,
        'DeviceOnlyRememberedOnUserPrompt': True|False
    },
    EmailConfiguration={
        'SourceArn': 'string',
        'ReplyToEmailAddress': 'string'
    },
    SmsConfiguration={
        'SnsCallerArn': 'string',
        'ExternalId': 'string'
    },
    UserPoolTags={
        'string': 'string'
    },
    AdminCreateUserConfig={
        'AllowAdminCreateUserOnly': True|False,
        'UnusedAccountValidityDays': 123,
        'InviteMessageTemplate': {
            'SMSMessage': 'string',
            'EmailMessage': 'string',
            'EmailSubject': 'string'
        }
    }
)
type UserPoolId:

string

param UserPoolId:

[REQUIRED]

The user pool ID for the user pool you want to update.

type Policies:

dict

param Policies:

A container with the policies you wish to update in a user pool.

  • PasswordPolicy (dict) --

    A container for information about the user pool password policy.

    • MinimumLength (integer) --

      The minimum length of the password policy that you have set. Cannot be less than 6.

    • RequireUppercase (boolean) --

      In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password.

    • RequireLowercase (boolean) --

      In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password.

    • RequireNumbers (boolean) --

      In the password policy that you have set, refers to whether you have required users to use at least one number in their password.

    • RequireSymbols (boolean) --

      In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password.

type LambdaConfig:

dict

param LambdaConfig:

The AWS Lambda configuration information from the request to update the user pool.

  • PreSignUp (string) --

    A pre-registration AWS Lambda trigger.

  • CustomMessage (string) --

    A custom Message AWS Lambda trigger.

  • PostConfirmation (string) --

    A post-confirmation AWS Lambda trigger.

  • PreAuthentication (string) --

    A pre-authentication AWS Lambda trigger.

  • PostAuthentication (string) --

    A post-authentication AWS Lambda trigger.

  • DefineAuthChallenge (string) --

    Defines the authentication challenge.

  • CreateAuthChallenge (string) --

    Creates an authentication challenge.

  • VerifyAuthChallengeResponse (string) --

    Verifies the authentication challenge response.

type AutoVerifiedAttributes:

list

param AutoVerifiedAttributes:

The attributes that are automatically verified when the Amazon Cognito service makes a request to update user pools.

  • (string) --

type SmsVerificationMessage:

string

param SmsVerificationMessage:

A container with information about the SMS verification message.

type EmailVerificationMessage:

string

param EmailVerificationMessage:

The contents of the email verification message.

type EmailVerificationSubject:

string

param EmailVerificationSubject:

The subject of the email verification message.

type VerificationMessageTemplate:

dict

param VerificationMessageTemplate:

The template for verification messages.

  • SmsMessage (string) --

    The SMS message template.

  • EmailMessage (string) --

    The email message template.

  • EmailSubject (string) --

    The subject line for the email message template.

  • EmailMessageByLink (string) --

    The email message template for sending a confirmation link to the user.

  • EmailSubjectByLink (string) --

    The subject line for the email message template for sending a confirmation link to the user.

  • DefaultEmailOption (string) --

    The default email option.

type SmsAuthenticationMessage:

string

param SmsAuthenticationMessage:

The contents of the SMS authentication message.

type MfaConfiguration:

string

param MfaConfiguration:

Can be one of the following values:

  • OFF - MFA tokens are not required and cannot be specified during user registration.

  • ON - MFA tokens are required for all user registrations. You can only specify required when you are initially creating a user pool.

  • OPTIONAL - Users have the option when registering to create an MFA token.

type DeviceConfiguration:

dict

param DeviceConfiguration:

Device configuration.

  • ChallengeRequiredOnNewDevice (boolean) --

    Indicates whether a challenge is required on a new device. Only applicable to a new device.

  • DeviceOnlyRememberedOnUserPrompt (boolean) --

    If true, a device is only remembered on user prompt.

type EmailConfiguration:

dict

param EmailConfiguration:

Email configuration.

  • SourceArn (string) --

    The Amazon Resource Name (ARN) of the email source.

  • ReplyToEmailAddress (string) --

    The REPLY-TO email address.

type SmsConfiguration:

dict

param SmsConfiguration:

SMS configuration.

  • SnsCallerArn (string) -- [REQUIRED]

    The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller.

  • ExternalId (string) --

    The external ID.

type UserPoolTags:

dict

param UserPoolTags:

The cost allocation tags for the user pool. For more information, see Adding Cost Allocation Tags to Your User Pool

  • (string) --

    • (string) --

type AdminCreateUserConfig:

dict

param AdminCreateUserConfig:

The configuration for AdminCreateUser requests.

  • AllowAdminCreateUserOnly (boolean) --

    Set to True if only the administrator is allowed to create user profiles. Set to False if users can sign themselves up via an app.

  • UnusedAccountValidityDays (integer) --

    The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, specifying "RESEND" for the MessageAction parameter. The default value for this parameter is 7.

  • InviteMessageTemplate (dict) --

    The message template to be used for the welcome message to new users.

    • SMSMessage (string) --

      The message template for SMS messages.

    • EmailMessage (string) --

      The message template for email messages.

    • EmailSubject (string) --

      The subject line for email messages.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

    Represents the response from the server when you make a request to update the user pool.