I currently am testing out Auth0 for potential use in my app, which does not allow duplicate emails.
However, I noticed that Auth0 allows duplicate emails to be signed up through different providers (ie, Google OAuth can sign in a gmail account, and then that same gmail can sign up through the email/password function).
I was wondering if there is any way I can prevent Auth0 from allowing this to happen when a user tries to sign up (I do not want to link accounts - I prefer to not have to modify my existing backend to accommodate this).
Technically, I could have my own logic check for duplicate emails in my existing database when passport registers a successful login (and if I find an issue, immediately log out the user and tell them their email is in use), but that would still mean the Auth0 would essentially create a useless account. However, this would look strange taking into account login flow of the application, and I would much rather have the prompt of “email already in use” on the Lock screen itself.
You can use hooks or rules to do this. We have a pre-registration hook that checks new user usernames against a legacy database to prevent new users from grabbing a username in use by a user in the legacy database.