13
votes

I'm using Cognito for User Management, and everything seems to work fine apart from email verification process.

I would like to build user journey similar to all other website: 1) Fill registration form with user details 2) Receive an email with email verification link 3) Verify email address by clicking on the link

So far, I can only verify email by making user manually input verification code. This is slightly unusual. And some users find it easier to just click on the link.

On "Message customisation" page, there is a possibility to use "link" for message verification. But it is using "Amazon Cognito domain", which is exposing underlying technology to the end user. Ideally I would like to use my own domain.

I'm trying to "Use own domain" at "App integration->Domain Name" tab, but getting "We didn’t find any AWS managed certificates for this region."

But I have added "AWS managed certificates" for my domain and verified it via DNS. It is appearing in "Certificate Manager" with status "Issued".

Have someone successfully managed to use "Your own domain" for email verification? What am I missing?

Thanks, OM

2

2 Answers

6
votes

OK, I found what the problem was. Thanks Mukti Arip, for pointing to documentation.

Documentation says, that Certificate needs to be registered in US East (N. Virginia), no matter where your Cognito user pool is located.

As soon as I registered certificate in N. Virginia it appeared in my Domain configuration.

3
votes

You can send verification email using your own domain if you have an SES verified identity. See in this link: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html