访问另一个页面后访问令牌丢失

时间:2013-07-02 19:48:09

标签: facebook facebook-php-sdk facebook-access-token

当我访问index.php时,一切正常,我看到acces_token出现在会话变量中。

然而,当我点击一个链接转到一个新页面,然后我点击(在新页面上)一个链接,让我回到index.php,access_token被更改为一个更短的令牌,开始用我的appId。

(编辑:我刚刚发现这个更短的标记是这样的:appid | appsecret)

我已尝试链接到index.php的精确副本,同样的事情发生了。这就像是没有创建新的facebook实例,或者是什么......为什么没有创建新的access_token?

以下是我的代码。您会注意到我没有在我的应用程序中登录用户。那是因为这部分是通过Javascript SDK在另一个页面上完成的。

我一直在找几个小时......提前感谢您的建议。

的index.php

<?php
include "config.php";
require "ok.php";

?>
<br/><br/>
<a href="link.php">Link.</a>
<br/><br/>
<?php


$user = $facebook->getUser();

$userInfo = $facebook->api("/$user");

?>
<?php d($user); ?>
<strong>PHP Session</strong>
<?php d($_SESSION); ?>

?>

ok.php

<?php

    $fbconfig['appid' ] = "###";
    $fbconfig['secret'] = "###";

    $user            =   null;
    try{
        include_once "facebook.php";
    }
    catch(Exception $o){
        echo '<pre>';
        print_r($o);
        echo '</pre>';
    }

    $facebook = new Facebook(array(
      'appId'  => $fbconfig['appid'],
      'secret' => $fbconfig['secret'],
      'cookie' => true,
    ));


    function d($d){
        echo '<pre>';
        print_r($d);
        echo '</pre>';
    }
?>

的config.php

<?php
session_start();

//We log to the DataBase
mysql_connect('...', '...', '...');
mysql_select_db('...');

?>

0 个答案:

没有答案