I run a membership website, and on this site users can join for free. They can also pay for an upgraded subscription. Their login details are email/password.
I recently integrated facebook connect/login for this site. On the login/signup page, I now have two new buttons: “Login with Facebook” & “Signup with Facebook” (you can still sign in the “old” way, using email/password though)
If a user clicks the “signup with facebook” button, a new account will be created using that persons facebook email address, and they’re automatically logged in. If an account already exists under that persons facebook email address, a message appears telling them they already have an account under that email address and to please sign in using the “login with facebook” button.
If a user clicks the “login with facebook” button, the script gets their facebook email address, checks the membership database on my site for an account that has a matching email address, and if one exists it logs them into that account. If there is no account under that email address within my membership database, they’re told that no account exists under [their facebook email] and to please sign up for one.
Here is the core of my problem/question (explanation above was necessary though):
I thought that this was a perfectly good solution for integrating facebook connect/login, however I’ve had a few developers tell me that it is highly unexpected behavior for a user to click a “login with facebook” button and be told they’re unable to be logged in, and to please signup first. They’ve suggested that the best behavior would be that if they click the “login with facebook” button and no preexisting account can be located, that one should just be automatically created under that email address.
The reason I see an issue with this, is that I know for a fact I’ll end up with plenty of people who will click the “login with facebook” button thinking they’re going to be logged into their preexisting account, but will actually end up creating a NEW account because the email address on their facebook account and the email address they have within my membership site are two different email addresses.
So my question is what do you think the best way to handle using facebook connect/login on my website is given the above situation?