0

我一直在尝试根据 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,但在我的情况下似乎没有任何效果。

4

1 回答 1

0

Facebook API 提供了一个 logoutURL,它将用户从他们当前的 Facebook 帐户中注销。

你可以像这样得到它

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

但是,在我看来,让用户退出 Facebook 并不是一种理想的行为。一旦用户使用他/她的 Facebook 帐户授权应用程序,Facebook 登录的全部意义就是绕过手动登录。

于 2013-06-05T21:51:51.110 回答