Facebook login hangs at "XD Proxy" when page is installed via Chrome Web Store Facebook login hangs at "XD Proxy" when page is installed via Chrome Web Store google-chrome google-chrome

Facebook login hangs at "XD Proxy" when page is installed via Chrome Web Store


I didn't try the solution proposed by Cesar, because I prefer to stick with Facebook's official javascript SDK.

Nevertheless I would like to add a few observations:

  • Indeed, the blocking problem only happened on Chrome after installing from Chrome Web Store. Uninstalling the web app solves the problem. (tested with legacy authentication method, without oauth 2.0). After closing the XD Proxy popup manually, my application was working properly.

  • After switching to asynchronous FB.init() and enabling oauth 2.0 option, my application would not even get a valid facebook connect status at login time ({authResponse: null, status: "unknown"})... Again, uninstalling it from the Chrome Web Store, it's working... ({authResponse: Object, status: "connected"})

  • No problem encountered with Safari, in any of these cases.


Could you call a javascript redirect to get permissions then redirect back to the http://www.web-allbum.com/connected uri?

I described this method in detail here -> Permissions on fan page

EDIT:

The method I demonstrated before will be deprecated when OAuth 2.0 comes into the requirements.

Here is the code, adapted for OAauth 2.0 (response.session is replaced with response.authResponse)

<div id="fb-root"></div><script>theAppId = "YOURAPPID";redirectUri = "YOURREDIRECTURI"; //This is the page that you redirect to after the user accepts the permissions dialogue//Connect to JS SDKFB.init({    appId  : theAppId,    cookie: true,     xfbml: true,     status: true,    channelURL : 'http://yourdomain.co.uk/channel.html', // channel.html file    oauth  : true // enable OAuth 2.0});//Append to JS SDK to div.fb-root(function() {    var e = document.createElement('script');    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';    e.async = true;    document.getElementById('fb-root').appendChild(e);}());//Check login status and permissionsFB.getLoginStatus(function(response) {  if (response.authResponse) {    // logged in and connected user, someone you know  } else {    //Redirect to permissions dialogue    top.location="https://www.facebook.com/connect/uiserver.php?app_id=" + theAppId + "&method=permissions.request&display=page&next=" + redirectUri + "&response_type=token&fbconnect=1&perms=email,read_stream,publish_stream,offline_access";  }});</script>

Just tried and tested, worked fine in chrome.


In IE8 - this can be caused by your flash version. I tried everything and nothing worked until I disabled flash. More details from this blog:http://hustoknow.blogspot.com/2011/06/how-facebooks-xdproxyphp-seemed-to-have.html#comment-form