Cognito allows multiple accounts on same email id

0

Currently, it seems multiple accounts can be created in Cognito using the same email ID. Is there any setting that needs to be changed to avoid this scenario?

1 Answer
0

you can enforce unique email addresses by using pre-signup Lambda triggers.

Lambda service > Create function" and select "Author from scratch > Choose the "Python 3.x" runtime

example code : please update according to your requirements

import json
import boto3

def lambda_handler(event, context):
    user_pool_id = event['userPoolId']
    email = event['request']['userAttributes']['email']

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

    response = cognito.list_users(
        UserPoolId=user_pool_id,
        Filter=f'email = "{email}"'
    )

    if len(response['Users']) > 0:
        raise Exception('An account with this email address already exists.')

    return event

associate the Lambda function with the pre-signup trigger in your user pool

Amazon Cognito service > Manage User Pools > Triggers > Pre sign-up > select created lambda function

profile picture
EXPERT
answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions