Предварительная регистрация пользователя AWS Cognito. Чтобы проверить, существует ли пользователь в другой БД - PullRequest
0 голосов
/ 26 июня 2018

В настоящее время я перемещаю свой каталог пользователей на основе БД в AWS Cognito. Я использую migration триггер для миграции существующих пользователей. Это работает нормально.

Моя проблема, что делать, если для SignUp используется существующий идентификатор электронной почты. Поэтому я подумал добавить PreSignUp триггер, который проверяет, существует ли пользователь в БД, а также сделать автоматическое подтверждение для всех пользователей.

Мой вопрос как я могу сделать ответ от триггера, когда пользователь существует? Какой объект JSON ожидает Cognito, так что на стороне клиента он дает UserExistsException.?

Проект кодекса.

def handler(event, context):
    event['response']['autoConfirmUser'] = True

    if event['request']['userAttributes']['email'] is not None:
        if not user_exists(event['request']['userAttributes']['email']):
            event['response']['autoVerifyEmail'] = True
        else:
            return #Validation Error response

    return event

1 Ответ

0 голосов
/ 27 июня 2018

В AWS Cognito он автоматически обнаруживает и выдает исключение, когда кто-то пытается зарегистрироваться по существующему адресу электронной почты. Поэтому вы можете вызвать исключение из Cognito и выполнить обработку. Так что, по моему мнению, лучше сначала проверить, что пользователь существует в вашей БД, и выдать пользовательское исключение, не переходя в Cognito.

...