firefox跟踪保护打破facebook登录

时间:2015-06-02 15:11:18

标签: facebook firefox privacy

我在网络应用程序中使用简单的facebook登录菜谱。如果firefox将privacy.trackingprotection.enabled设置设置为true,则会发生以下情况:

  • 弹出facebook登录窗口
  • 如果用户未登录Facebook,则可以登录
  • 此过程在此处停止

如果关闭窗口,我会获得对回调的控制权,但登录被视为不成功。

如果没有启用跟踪保护,它就会正常工作(即流程不会停止。

有没有办法在"跟踪保护安全"中使用Facebook登录?模式?

我的代码的重要部分:

window.fbAsyncInit = function() {
  FB.init({
    appId      : '<my app id>',
    cookie     : true,  // enable cookies to allow the server to access 
                        // the session
    xfbml      : true,  // parse social plugins on this page
    version    : 'v2.2' // use version 2.2
  });
};

(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

function FaceBook(pageScript) {
this.pageScript = pageScript;
this.doc = document;
this.loggedIn = false;
}


FaceBook.prototype.loginCallBack = function(response) {
    var self = this;
    if (response.status === 'connected') {
        self.loggedIn = response;
        self.pageScript.login_with_facebook(response.authResponse.userID, response.authResponse.accessToken)
    } else {
        self.doc.getElementById('message').innerHTML = 'Facebook login is unsuccessful'
    } 
  }

FaceBook.prototype.fblogin = function() {
    var self = this;
    if (! self.loggedIn ) {
        FB.login(function(response) {
            self.loginCallBack(response);
          });
    }
}

0 个答案:

没有答案