Consider the following chain of events:
- My site uses AWS Cognito to manage it's users, and uses the default Cognito hosted UI
- One of my users creates an account this way
- They enter their email address and a password
- They get taken to a screen where Cognito asks them to enter a verification code that was sent to their email address
- For whatever reason, the user exits this process before doing so
The user now exists in a "soft-locked" state:
- They cannot log in, and instead just get a big red error message saying "user is not confirmed"
- They cannot sign up again, and get a message saying "an account with the given email already exists"
- The "forgot password" route may allow them to get in (I'm still checking this), but a user would not be indicated to try this
The only way for the user to get in seems to be for an admin to either manually confirm the account, or delete it to allow the user to recreate it. This is obviously unacceptable in production.
What is Cognito's proposed way of handling this situation? I haven't been able to find any documentation around it, but this chain of events is, I would argue, quite a normal thing to happen.