繁体   English   中英

无法使用$ facebook-> destroySession()从PHP Facebook应用程序注销;

[英]Unable to Logout out of PHP Facebook app using $facebook->destroySession();

我一直在尝试根据Facebook API文件夹中提供的示例使用PHP创建一个基本的Facebook应用程序。

我遵循的步骤是:

  1. 打开http://sports-admin.tamu.edu/devsite/sarvesh/facebook-php-sdk-master/examples/test_fb.php

  2. 点击登录

  3. 在新页面上输入Facebook用户名和密码

  4. 我被重定向回./test_fb.php并显示了我的信息。

  5. 我单击注销,然后使用“登录”链接重定向到原始页面

  6. 但是现在,当我单击“登录”时,它不会要求我提供凭据,而是直接登录。

请提出一种将我完全退出Facebook的方法,单击“登录”后,我总是会被问到我的用户名和密码。

这是html代码:

<body>
<h1>php-sdk</h1>

<?php if ($user): ?>
<a href='?logoff' >Logout</a> 
<?php else: ?>
  <div>
    Login using OAuth 2.0 handled by the PHP SDK:
    <a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
  </div>
<?php endif ?>

<h3>PHP Session</h3>
<pre><?php  print_r($user_profile); ?></pre>

<?php if ($user): ?>
  <h3>Your Display Picture</h3>
  <img src="https://graph.facebook.com/<?php echo $user; ?>/picture">
  <h3>Hello</h3>
  <h3><?php echo($user_profile["name"]); ?></h3>
<?php else: ?>
  <strong><em>You are not Connected.</em></strong>
<?php endif ?>

这是注销的代码块。 此代码与上面的html代码在同一test_fb.php文件中编写

if(isset($_GET['logoff'])=='1'){
$facebook->destroySession();
setcookie("fbs_MY-APP-ID", "", time()-3600);
header("Location: test_fb.php");
}

我已经搜索了整整三天的stackoverflow,但是对于我来说似乎没有任何效果。

Facebook API提供了一个logoutURL,它将使用户退出当前的Facebook帐户。

你可以这样得到

$facebook = new Facebook($config);
$params = array('next' => 'http://mysite.com/test_fb.php' );
$logoutURL = $facebook->getLogoutUrl($params);

但是,在我看来,将用户退出Facebook并不是一种理想的行为。 Facebook登录的全部目的是在用户使用其Facebook帐户授权该应用程序后,绕过手动登录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM