My problem came from the struggling with building my app with Meteor. Meteor is shipped with a complete accounts system, by which you can easily:
- create user with username/email
- login with password
- verify email
- reset password by password
- reset password by sending reset link to the user email
- login or link/unlink account with 3rd part services
That’s cool, but I ended up finding that I have to do a mass of work to adapt it to fulfill the requirements of my app:
- user can bind, unbind, rebind with mobile phone/email
- user can login/reset password by verify the bound phone/email
The main different parts are the support for mobile phone and the ability to change binding of email/phone with a user account.
I have surveyed a few websites: github, meteor, and pledgemusic, finding that their user systems are all the same with the one built in with meteor. In China(as I am), the situation is different, you can find many kinds of user system, and many company prefer to support mobile phone and allow user to change bindings.
So here I want to know
- Is there a standard design for user/account system
- And if there is, what’s the sense behind it?(cons and pros)
also serr: stackoverflow