Учетные записи Cognito, созданные с помощью admin_create_user, не могут войти в систему. Известно ли исправление? - PullRequest
1 голос
/ 28 мая 2019

Я создаю бэкэнд-инструмент для создания некоторых учетных записей в пуле пользователей AWS Cognito с использованием Python и boto3. Создание учетных записей с помощью admin_create_user CognitoIdentityProvider, кажется, работает нормально, но когда я пытаюсь войти в наше приложение с новой учетной записью, я получаю 400 ответ с:

{"__ type": "UserNotFoundException", "message": "Пользователь не существует."}

Я убедился, что пользователь фактически был добавлен в пул cognito и что пользователь включен.

Я также указал, что адрес электронной почты проверяется автоматически при создании учетной записи.

Вот моя функция создания учетной записи:

import boto3 

idp_client = boto3.client('cognito-idp')

# Redacted for stackoverflow example
user_pool_id = 'XXXXXXXXXXX' 

response = idp_client.admin_create_user(
            UserPoolId=user_pool_id,
            Username=email,
            UserAttributes=[
                {
                    'Name': 'email',
                    'Value': email
                },{
                    'Name': 'email_verified',
                    'Value': 'true'
                }
            ],
            TemporaryPassword=generateSecureRandomString()
        )

Я ожидаю, что, поскольку учетная запись успешно создана в пуле пользователей Cognito, и что учетная запись, кажется, включена и проверена, это приведет к созданию учетной записи, которая может выполнить вход.

Буду признателен за любой свет, который может пролить свет на проблему!

1 Ответ

0 голосов
/ 28 мая 2019

Этот код отлично подходит.Так что это может быть проблема либо с настройками пула, либо с потоком входа в систему.

В настройках пула убедитесь, что он настроен для входа с «адресом электронной почты или номером телефона», а не именем пользователя.

В процессе входа в систему вы используете размещенный пользовательский интерфейс?Возможно, стоит попробовать, потому что это устранит все проблемы с вашим логином.Обратите внимание, что ваш пользователь будет иметь статус «FORCE_CHANGE_PASSWORD».Я не уверен, какую ошибку выдает cognito, если вы пытаетесь войти в систему с вашим собственным кодом, но у него есть этот набор.

...