Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.
+2 votes
in Q2A Core by

I find the Facebook plug-in a little confusing from the user perspective because it seems to work both for registration and login, but every reference a user sees to it seems to say "login". It seems it could be more clear that it is used for registration and subsequent login, and that registering using Facebook will register them with their Facebook user name. 

The workflow described on the Facebook developer site seems to be more clear:


Specifically, would it be possible for Q2A to work per the section pasted below?


Login + Registration Flows
When prompting your users to login or register, there is an XFBML button that you will probably find useful.
registration-url="https://developers.facebook.com/docs/plugins/registration" />
If the user arrives at your site logged out of Facebook, the button will say Login. When the user clicks it, she will be prompted to enter her Facebook username and password. If she has not registered for your site, she will be redirected to the URL you specify in the registration-url parameter. If she has already registered for your site, the button will fire an onlogin() Javascript event. When this event is fired you should login the user to your site.
If the user arrives logged into Facebook, but has not registered for your site, the button will say Register and clicking it will take the user to your registration-url.
Lastly, if the user is logged into Facebook and already connected to your application, the button will say Login and won't do anything when clicked (but your application should detect this state using the getLoginStatus method and not show the button).
See our best practices and diagrams of how all of this fits together, for an overview of how to structure your application.


I noticed some strange Facebook login behavior. If I'm already logged into Facebook, and then in Q2A I click on Login (not the Facebook Login, just the regular Login), I automatically get logged into Q2A with Facebook. This would seem like unwanted and unexpected behavior.

3 Answers

+2 votes
I presume Gideon won't mind me posting what he told me in a direct message about this topic:


"This looks like some new functionality in the FB Login button, that wasn't there when I first implemented it for Q2A. I'll take another look at it for the Q2A 1.5.3 release."
+1 vote

In my opinion, it would be nice to also have the functionality accordingly more tightly integrated UI-wise with the non-Facebook login. For example have the option of having one Login button (or maybe better yet, even a single Login/Register button) on the home page and then that goes to a new page where both traditional and Facebook login and registration are offered. That  reduces clutter on the home page - potentially reducing from three buttons (Facebook/Login/Register) to one (Login/Register).

Personally I think one flaw with the "Login with Facebook" type functionality is the assumption that users who want the convenience of Facebook registration/login also are OK with being forced to use their Facebook username/identity on another site.

I believe there should be a simple intermediate step where the user has the option to register on the site with a new username even when registering and later logging in with Facebook.

Facebook's entire pitch about "Login with Facebook" is about convenience. There's no mention that it's because everyone wants to use the same username/identity everywhere they log in. Because in fact they don't.
Re login/registration together and with social login but can create different username on our site, In fact, I just came across a popular site today that does just what I had in mind. Login in with Google the first time and you get a registration page where you can create a username for that site:

Another site that I found does the same thing with a personal user name after Google login is Moms4Mom (another Q&A site originally built on StackExchange - not sure what it was later ported to).
+1 vote
Yes, I feel that we should combine the registration/login page. If Q2A added more login options (Google, Twitter, Yahoo, etc) it could have those on one side, with the regular login form on the other, then perhaps another tab for the registration form.
I've got:
Fatal error: Uncaught exception 'Exception' with message 'Facebook needs the CURL PHP extension.' in /web/vidia/kerdezzel.hu/qa-plugin/facebook-login/base_facebook.php:19 Stack trace: #0 /web/vidia/kerdezzel.hu/qa-plugin/facebook-login/facebook.php(18): require_once() #1 /web/vidia/kerdezzel.hu/qa-plugin/facebook-login/qa-facebook-login.php(69): require_once('/web/vidia/kerd...') #2 /web/vidia/kerdezzel.hu/qa-include/qa-page.php(102): qa_facebook_login->check_login() #3 /web/vidia/kerdezzel.hu/qa-include/qa-page.php(748): qa_check_login_modules() #4 /web/vidia/kerdezzel.hu/qa-include/qa-index.php(163): require('/web/vidia/kerd...') #5 /web/vidia/kerdezzel.hu/index.php(31): require('/web/vidia/kerd...') #6 {main} thrown in /web/vidia/kerdezzel.hu/qa-plugin/facebook-login/base_facebook.php on line 19