I just started using Django-AllAuth. I chose it because it supports “normal” login as well as Oauth based login.
For “normal” login, I have switched to using email address as the username. In general, people do not like having to think up a username and they do not remember it. Email is already unique and easier to remember because the user uses it all the time.
AllAuth says it can do email based logins. But how? Turns out its just a setting:
ACCOUNT_AUTHENTICATION_METHOD = “email”