The go-to answer on this forum is to use a custom Action that is triggered POST login. This means the login will fail, but Auth0 will still route the user to the application and expects it to handle it on its own.
I actually went through the process of having my Angular client handle the error that is thrown. It can handle anything Auth0 throws at it, does all the translation necessary and shows a beautiful notification - it’s magical!
But why did I have to do this in the first place?
Why is the official recommendation to throw an English error message at the user?
Why is this check not a standard feature of the Universal Login that can be activated via the UI and leads to a translated error message to be shown including an option to resend the email?
Why can’t I throw an error in the Action (if I have to do it myself) and have the Universal Login show a translated, custom, string?
Why do I have to handle it in my own app and then have the user navigate back to the login manually after they verified their email?
I can’t imagine this being an edge case that only a small subset of developers need to implement.