In my new web app I'm going to allow social login through Twitter (maybe), Facebook and Google and I'm in search of the best way to do it.

Actually I'm using Rails with Devise + Omniauth and this is the problem:

Should I ask the user to choose a password so that he can login without a social network?

Or maybe the user should be able to set a password if he want (for example when editing his account?)

The second way seems the best one but since Twitter doesn't provide user email and google doesn't provide an username I'll probably have to ask the user for username/email when he log in so in that case I may also ask for the password...

waht do you think?

3 Answers 3


Definately allow the user to add a password if they want so that they have the option to login without using a social network sign-in. If, for no other reason, that you are not reliant on an external party and not dead-in-the-water if their servers are down (or, even, if their government shuts off access to them).

Unless your app is something that integrates with and requires a social network, I'd recommend still providing a way to sign-up directly, without a social network involved. While social network authentication is convenient, a lot of people dont have google/facebook/twitter accounts (yes, its true), and others just arent big fans of the idea that they can be tracked in that manner.

  • I'm already allowing the user to sign up without a social but since I want to allow the user that signed up with a social being able to login it also without a social (in the normal way) I'm wondering if it's better to ask them for a password on the first login with facebook/google or tell them "if you want to access without "social network name" please set up a password in the profile page" Apr 10, 2012 at 10:32
  • I think you're ok either way. If you have a generic 'add a password' option that you can link to after a 'social login', you can use it for both. Apr 10, 2012 at 18:24

If the application is public you may want to prefer single-sing-on approach. You should conceptually separate user profile information from the physical implementation. That is, you collect all the information the user can provide you and use the subset required to satisfy the logon requirements.

If your user decided that he/she does not want to select a social network, then you need to allow them the regular login with userid and password. I guess this site works this way.


Social Login integration is the best possible way to make your site social and to bring maximum possible traffic to your site.Most of the site owners integrate single sign on systems these days.I have also used one such system its LoginRadius,enabling social login via around 21 open id providers.

  • that doesn't answare to my question... Apr 10, 2012 at 10:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.