Javascript Facebook connect:Can';t使用PHP SDK注销+;JSSDK
我对Facebook Connect插件有严重的问题。 我正试图使用这个功能,以便让我的用户登录到一个网站上 因此,我使用了Basicali作为php SDK混合JS SDK的示例 我成功地允许我的用户登录,但我无法让他们注销。我快疯了,我不明白。。。它就是不起作用 稍后,我将在会话php变量中使用facebook会话,因此我需要注销会话和cookie。你能帮帮我吗 这是我的密码:Javascript Facebook connect:Can';t使用PHP SDK注销+;JSSDK,javascript,php,facebook,session,sdk,Javascript,Php,Facebook,Session,Sdk,我对Facebook Connect插件有严重的问题。 我正试图使用这个功能,以便让我的用户登录到一个网站上 因此,我使用了Basicali作为php SDK混合JS SDK的示例 我成功地允许我的用户登录,但我无法让他们注销。我快疯了,我不明白。。。它就是不起作用 稍后,我将在会话php变量中使用facebook会话,因此我需要注销会话和cookie。你能帮帮我吗 这是我的密码: <? //uses the PHP SDK. Download from https://git
<?
//uses the PHP SDK. Download from https://github.com/facebook/php-sdk
require 'src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'ddddd',
'secret' => 'ddddddddddddddd',
));
$userId = $facebook->getUser();
?>
<?php if ($userId) {
$userInfo = $facebook->api('/' + $userId);
$params = array('next' => 'http://www.nofrenchtouch.com/include/logout.php');
$logout = $facebook->getlogoutURL($params);?>
<span class="facebook-in">Bienvenue <?= $userInfo['name']?> - <a href="#" onClick="logoutUser(); return false;" class="facebook-bt"> Se déconnecter</a>
</span>
<?php } else { ?>
<div id="fb-root"></div>
<a href="#" class="facebook-bt" onClick="loginUser(); return false;">Se connecter avec Facebook</a>
<?php } ?>
<script>
window.fbAsyncInit = function() {
FB.init({
appId: '<?php echo $facebook->getAppID() ?>',
cookie: true,
xfbml: true,
oauth: true
});
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
FB.Event.subscribe('auth.logout', function(response) {
window.location.reload();
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/fr_FR/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
function loginUser() {
FB.login(
function(response) {
getStatus(); //This is a call to a different function...
},
{scope:'email,publish_stream, user_birthday, friends_birthday'}
);
function logoutUser() {
FB.logout(
function(response) {
}
);
}
</script>
别因纽埃-
window.fbAsyninit=函数(){
FB.init({
appId:“”,
曲奇:是的,
xfbml:是的,
真的吗
});
FB.Event.subscribe('auth.login',函数(响应){
window.location.reload();
});
FB.Event.subscribe('auth.logout',函数(响应){
window.location.reload();
});
};
(职能(d){
var js,id='facebook jssdk';if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“//connect.facebook.net/fr\u fr/all.js”;
d、 getElementsByTagName('head')[0].appendChild(js);
}(文件);
函数loginUser(){
FB.login(
功能(响应){
getStatus();//这是对其他函数的调用。。。
},
{范围:'email,publish\u stream,user\u birth,friends\u birth'}
);
函数logoutUser(){
注销(
功能(响应){
}
);
}
非常感谢阅读。FB.logout();
将用户注销Facebook。注销Facebook基本上会结束与服务器的会话,但我认为这不是您想要实现的。尽管如此,我发现以下代码可用于注销Facebook:
<a href="javascript:FB.logout();void(0)">Log Out</a>
当用户向其帐户授予您的应用程序权限时,JS SDK将在每次加载页面时自动将有关用户的会话信息传递给服务器。为了让您的用户注销,您必须创建自己的身份验证系统,可以随意登录和注销。它将使用自己的会话他和诸如此类的东西与JS SDK创建的东西是分开的。仅使用Facebook PHP SDK获取用户的信息并将其存储在数据库中。这将允许用户注销您的网站(即使Facebook JS SDK实际上仍处于连接状态)。如果您需要,我可以提供有关用户帐户系统的更多信息。当您注销facebook时,请删除您的会话和用户的cookie
function logoutUser() {
FB.logout(
function(response) {
//Pass control to function in php where you can destroy your session and cookies.
// windows.location=PHP function
}
);
您应该像这样使用注销
FB.logout(function(response) {
FB.Auth.setAuthResponse(null, 'unknown');
...
});
正如本文所述..您在哪里销毁php会话?非常感谢您的帮助。:-)