我现在使用 Facebook Javascript SDK 通过 Facebook 登录连接我的应用程序。如果新用户来连接我的应用程序,用户详细信息将保存在数据库中。如果用户已经存在,那么相应的页面将通过 Facebook 登录显示给用户。有时,如果我在浏览器的新选项卡中登录 Facebook,在此期间我来到我的应用程序中的 Facebook 连接页面,Facebook 登录会自动登录到我的应用程序页面。我只想在点击 facebook 登录按钮后登录我的应用程序。怎么办?
<div id="fb-root">
</div>
<script>
//FB initialization
window.fbAsyncInit = function () {
FB.init({
appId: 'XXXXXXXXXX',
channelUrl : '//connect.facebook.net/en_US/all.js',
status : true,
cookie : true
});
//Event to check status of the login status
FB.Event.subscribe('auth.authResponseChange', function (response) {
if (response.status === 'connected') {
base_url = base_url + "&access_token=" + response.authResponse.accessToken + "&userId=" + response.authResponse.userID;
window.location.href = base_url;
}
else if (response.status === 'not_authorized') {
FB.login();
} else {
FB.login();
}
});
};
// Load the SDK asynchronously
(function (d) {
var js, id = 'facebook-jssdk',
ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) { return; }
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
} (document));
<fb:login-button scope="email,read_stream,publish_stream,offline_access,user_location"></fb:login-button>