Is there a standard design for user/account system?

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

  1. Is there a standard design for user/account system
  2. And if there is, what’s the sense behind it?(cons and pros)

Thanks.

also serr: stackoverflow

Did you find: accounts-sms

Using it and the base Accounts stuff everyone else uses should suit your needs?