2014-01-20 118 views
0

我见过很多关于这方面的问题,但其中大多数都过时了,因为Facebook更新了他们的API。当授权Facebook API时强制用户在Facebook上登录

我有一个网站,人们可以绑定他们的帐户与他们的Facebook帐户,通过存储他们的访问令牌的用户。这很好。

但问题是,我有一个选择,人们可以将他们的Facebook连接到他们的帐户当场共享计算机上人们可以来去。 但是,通过授权该公共计算机上的应用程序,他们也会自动登录到Facebook,所以任何人都可以访问Facebook,从而进入Facebook的前任家伙。 但问题在于,下一个将Facebook与其账户绑定的人会自动获得之前已经授权访问的人,因为已经登录的用户已经授权该应用。

有没有办法强制用户授权他们的Facebook时,他们按下绑定Facebook按钮?或者在我们收到accessToken后,有没有办法从Facebook注销用户? 我与Twitter有同样的问题,但我会离开那个另一个问题。

预先感谢。

回答

0

我找不到解决办法强制人们登录(问题是,如果他们已经登录&授权)但我用JavaScript SDK注销用户,如果他登录&授权,而如果他是登录但未授权或未授权,那么他将至少得到登录表 在连接到Facebook页面我有这个JavaScript运行,将自动注销用户注册&授权,这意味着下一个人来登录他的Facebook帐户现在将获得明确的登录屏幕

window.fbAsyncInit = function() { 
    FB.init({ 
     appId: 'AppIdStringHere', 
     status  : true, 
     xfbml  : true 
    }); 
    FB.getLoginStatus(function (response) { 
     if (response.status === 'connected') 
     { 
      //alert("Authorized"); 
      FB.login(function() { 
       FB.logout(function (response) { 
       }); 
      }, { scope: 'publish_actions' }); 
     } 
     else if (response.status === 'not_authorized') 
     { 
      //alert("Logged in but not authorized"); 
     } 
     else 
     { 
      //alert("Not logged in"); 
     } 
    }); 
}; 

    (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/all.js"; 
    fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 
相关问题