These one click login options work best when you want to allow anyone to sign up as a member of your site. The first time the person uses the option it will create an account for them using their email address with the selected service as the identifier for their specific account.
To be able to use these most easily your regular join/login option needs to identify members using their email address. If your system is going to use something other than email address as the main key for identifying members then the email address field still needs to be unique or you will not be able to identify who is logging in.
Where these conditions do not apply then implementing a login via one or more social media accounts becomes more complicated. All of the social media sites use the email address as the key identifier so if your system allows for multiple members to share an email address then it will be more difficult to identify which of those accounts the person is logging into from social media. Where the social media login also returns the person's name then provided you are also storing that you will be able to work out which person is logging in. Of course the others sharing the email address will not be able to use social media to log in.
Where who can be a member is restricted then allowing social media logins becomes even more complicated as you now need to match the social media provided info with an existing account in order to allow the person to login. Now logging in via social media does not automatically create an account if the person doesn't have one. Instead the social media provided information needs to be matched to an existing member in order to log that member in. Anyone trying to login that is not already a member would need to be redirected to the page for joining up instead.
A further problem exists where a person has multiple email accounts and the one they want to use for their login with your site is not the one they use for their social media - for example Google+ always sends a gmail address if you have one associated with your account even if you normally use a different email address to login to Google+ - so you might need to record both their social media email address and a separate one for all the regular communications.
These issues can be resolved and so it is possible to add one or more social media login buttons to any membership site but the amount of work involved may or may not be worth it depending on the nature of your site and the expected portion of the membership who have an account with a specific social media site.
This article written by Stephen Chapman, Felgall Pty Ltd.