3

User updates email in Cognito, Cognito flips the email verified flag to false and sends a verification email. If Cognito fails to send the email or if the code is expired, how would I force Cognito to resend the email? I tried the ResendConfirmationCode API , which attempts to confirm the already confirmed user and comes back with an error message. Does not verify the email though. I cannot use the verify user attribute which requires an access token. I'm using java SDK to connect to Cogntio.

1 Answers1

3

This is a really common question with Cognito.

I don't have a great solution and to be honest I'm not sure there is one.

There is a bug report and discussion at Amplify's GitHub issues page that's been open for 3 years, and I don't think anyone at AWS is listening.

https://github.com/aws-amplify/amplify-js/issues/987

There's also this related Stack Overflow post on deal with confirmed Cognito users with email_verified=false, which prevents them from recovering passwords, receiving confirmation codes, etc.

AWS Cognito - User stuck in CONFIRMED and email_verified = false

Some approaches I've seen people kick the tyres on include:

  • forcing email_verified=true and dealing with the fallout, which seems easier.
  • linking a user to their app via email address rather than sub or username (you can change a user's email account in the app, then get them to sign up again).

Unfortunately, Cognito is truly a dogs breakfast with no signs of getting better.

Scott
  • 37
  • 3