I am creating a web application that requires registration / authentication, and I consider using an email address as the only user ID. Here is what I see as pros and cons (updated with answers):
PROFI
Another field to fill in during registration (it will only be an email address, password and password confirmation). I am a big fan of minimalist posting.
Email address is easier to remember. (thanks to Mitch , Jeremy )
You donβt need to worry that your favorite username is already accepted - you are the only one using your email address. (thanks TStamper )
Cons
The user has more to enter each time they log in.
What if a user wants multiple accounts? They will need a different email address. (I even want the user to be able to create multiple accounts?)
Itβs easy for a potential attacker to guess (if they know the destination email address, they know the login ID). (thanks Vasil )
Users may be tempted to use the same password that they use for their email account, which is poor security. (thanks Thomas )
If you frequently change email addresses, it can be difficult to remember which address you used to register on the site after a long break. (thanks Software Monkey )
A hacker can spam the registration form and use the answers "already sent letters" to create a list of valid letters. (thanks David )
Not everyone has an email address. (thanks Nicholas )
If I went with the email address as id, I would provide a mechanism to allow it to change if the user changes the address. In this case, users will not post content on a public site, so a separate username is not needed to protect email addresses (but this is something that needs to be considered for other sites).
Another option is to implement OpenID (this is another discussion).
This seems to work for Google, but their services are tightly integrated. What did I miss in my analysis? Do you have any recommendations? Does anyone have any experience to share?
FINAL IMAGE
Thank you all for your answers. I decided to use email as an identifier, but then allow the creation of a username to log in after registration. This allows you to get a little flexibility, while keeping the registration as short as possible. It also prevents problems when a user changes email addresses (they can simply log in with their username and update it). I will also introduce methods to prevent coarse forcing email addresses from registration and logon systems (mainly, the cooling period after repeated attempts).
authentication email registration
vamin Mar 15 '09 at 2:45 2009-03-15 02:45
source share