我当前正在将基于数据库的用户目录迁移到AWS Cognito。我正在使用migration
触发器来迁移现有用户。这工作正常。
我的问题,如果SignUp
使用现有的电子邮件ID,该怎么办。因此,我想添加PreSignUp
触发器,以检查数据库中是否存在用户,并为所有用户进行自动确认。
我的问题是当用户存在时如何从触发器做出响应?
Cognito期望什么样的JSON对象,以便在客户端提供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
答案 0 :(得分:1)
在AWS Cognito中,当有人尝试使用现有电子邮件地址注册时,它会自动检测并引发异常。因此,您可以触发从Cognito抛出的异常并进行处理。因此,根据我的观点,最好先检查用户是否存在于您的数据库中,然后抛出自定义异常,而无需继续进行Cognito。