Sander,
I just took quite a bit of time to investigate what's happening on your site. Unfortunately, I don't have an answer to the problem. One really odd and frustrating thing that I encountered multiple times was that when I changed a setting in the admin area, the change wasn't reflected when the page reloaded. I had to hit Refresh in the browser for it to show. I'm not sure what's happening here, but it seems like some very agressive caching somewhere is hiding some changes and could be causing some of the problems you're having. That happened in multiple areas: sh404SEF, Plugin Manager, Joomla Global Configuration area and JFBConnect itself.
As for what we found, I tried many different things to narrow down the cause, including:
* Disabling SEF URLs, both in Joomla and sh404SEF
* Disabling CloudFlare
* Disabling caching, both JotCache and in the Global Configuration area
* Disabling multiple various system and User plugins to try to narrow things down
Ultimately, none of those had any effect. To test further with the language filter plugin, I set the Returning User Redirection in JFBConnect to a different page. That way, I could detect if JFBConnect 'thought' it had logged the user in or not based on if the redirection was followed. Here are the results:
With language code removal set to "No" and using the popup for authentication
This is a working case. Here's the URLs that are loaded:
(Authentication is performed through the popup), then:
/index.php?option=com_jfbconnect&task=authenticate.login&provider=facebook&return=L2VuLw==&d67f7bf8239e25b35bf4ff25359672c5=1
/nl/?option=com_jfbconnect&task=authenticate.login&provider=facebook&return=L2VuLw==&d67f7bf8239e25b35bf4ff25359672c5=1
Login successful
With language code removal set to "No" and using no popup
This is the non-working case. Here's the URLs that are loaded:
/index.php?option=com_jfbconnect&task=authenticate.login&provider=facebook&return=L2VuLw==&dc18387624a4aebd74cef69f2543af64=1
/nl/?option=com_jfbconnect&task=authenticate.login&provider=facebook&return=L2VuLw==&dc18387624a4aebd74cef69f2543af64=1
www.facebook.com/dialog/oauth?client_id=...ation%2Cuser_website
/index.php?option=com_jfbconnect&task=authenticate.callback&provider=facebook&code=AQAH_XrX9TNbsZ0KhzPWR1dHdO8sXuEfRtIZAL6L415dN4U4It-CxJx84hzXhCWEIevcGR_-bnxhGEV9tuVwDum7T2lqE-Ab3_yPeb1NNI3STwP9KZUHznqiye_mRkVlnuXH1-9GTEvwuX7riUCYo3zwErnrlFRFn7ypfWZw8-xdEmwfNRIoDgENt9gEHPSWp-vZLNAbz42zVBPTUjAoHpo-kpY7lVhmgcqVlCces8j_5eP1UeMwmdgpOVGfW1zsPdelAtIttfk1Or24S_YgsKRFHgxnrdyMRMTimJDthCGY_P_CiHSVAuv4_bAEmDYNaD0&state=316b6c4005ffe398ac6e82be79e0fedf
/nl/?option=com_jfbconnect&task=authenticate.callback&provider=facebook&code=AQAH_XrX9TNbsZ0KhzPWR1dHdO8sXuEfRtIZAL6L415dN4U4It-CxJx84hzXhCWEIevcGR_-bnxhGEV9tuVwDum7T2lqE-Ab3_yPeb1NNI3STwP9KZUHznqiye_mRkVlnuXH1-9GTEvwuX7riUCYo3zwErnrlFRFn7ypfWZw8-xdEmwfNRIoDgENt9gEHPSWp-vZLNAbz42zVBPTUjAoHpo-kpY7lVhmgcqVlCces8j_5eP1UeMwmdgpOVGfW1zsPdelAtIttfk1Or24S_YgsKRFHgxnrdyMRMTimJDthCGY_P_CiHSVAuv4_bAEmDYNaD0&state=316b6c4005ffe398ac6e82be79e0fedf
I understand that's all a little hard to dissect. The important thing is that the only difference with the popup version and non-popup version is that there is a 'code' variable passed back from server authentication. Other things, like the URL originally going to your root and then being redirected to /nl/ are in both cases. The code is used by JFBConnect to contact Facebook again and verify the user's identity. My guess is that somewhere in your system, there's something that's stripping the 'code' value from the URL. I say that because *sometimes* when trying to login, the following message appears:
BERICHT
We waren niet in staat om uw Facebook-account informatie op te halen. Probeer het opnieuw.
That didn't appear every time (again, likely a strange caching issue). That error means that the code likely isn't being used and, therefore, JFBConnect can't authenticate the user with Facebook.
Do you know of any extension that may be using 'code' as a variable and removing it? I'm definitely confused, and not sure why the "Remove language code" setting matters.. I looked, and the normal key for the language code is "lang" not "code", so it's not the plugin that's inadvertently removing the wrong key from the URL.
From here, there's really 2 courses of action and it really depends on how you want the URLs to show:
* If you want the language code in the URLs, which is when JFBConnect doesn't work, then we'll need to get FTP access to your site to add some more debug code and determine where things are going wrong.
* If you don't want the language code in the URLs, then you'll need to contact JomSocial to figure out why their feed module isn't working when the codes are missing.
We'll gladly help, but if you know anything more about your caching, the 'code' variable, or anything else that the above info may help narrow things down with, please let me know.
Thanks,
Alex