当授权Facebook API时强制用户在Facebook上登录
问题描述:
我见过很多关于这方面的问题,但其中大多数都过时了,因为Facebook更新了他们的API。当授权Facebook API时强制用户在Facebook上登录
我有一个网站,人们可以绑定他们的帐户与他们的Facebook帐户,通过存储他们的访问令牌的用户。这很好。
但问题是,我有一个选择,人们可以将他们的Facebook连接到他们的帐户当场共享计算机上人们可以来去。 但是,通过授权该公共计算机上的应用程序,他们也会自动登录到Facebook,所以任何人都可以访问Facebook,从而进入Facebook的前任家伙。 但问题在于,下一个将Facebook与其账户绑定的人会自动获得之前已经授权访问的人,因为已经登录的用户已经授权该应用。
有没有办法强制用户授权他们的Facebook时,他们按下绑定Facebook按钮?或者在我们收到accessToken后,有没有办法从Facebook注销用户? 我与Twitter有同样的问题,但我会离开那个另一个问题。
预先感谢。
答
我找不到解决办法强制人们登录(问题是,如果他们已经登录&授权)但我用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'));