0

我在 Laravel 上的 facebook SDK 遇到了一些问题。

这是我的代码:

public function get_index() {
    $facebook = IoC::resolve('facebook-sdk');

    try {
        $fb_id = $facebook->getUser();
        if ($fb_id) {
            $token = array(
                'access_token' => $facebook->getAccessToken()
            );
            $fb_data = $facebook->api('/'.$fb_id.'?', $token);
            print_r($fb_data);
        } else {
            $url = $facebook->getLoginUrl(array(
                    'scope' => Config::get('facebook.scope'),
                    'redirect_uri' => Config::get('facebook.landing_page')
                        ));
            echo "<script> top.location.href='".$url."'</script>";
        }
    } catch (FacebookApiException $exc) {
            $fb_id = NULL;
            echo $exc;
    }
}

如果我从 Facebook 注销,它仍然会给我 fb_uid。发生的一件奇怪的事情是,如果我使用其他帐户登录,它不会打印当前登录的帐户,而是最后一个。“摧毁”用户的唯一方法是删除 cookie。

我一直在研究 CodeIgniter,代码运行得非常完美。现在我正在学习 Laravel 并尝试在上面测试我的代码,但如果这不起作用,就无法继续。

发生什么事的任何线索?

4

2 回答 2

0

I've found that the user needs to logout of the application itself in order for the User ID to be reset. You can logout URL for the user by calling $facebook->getLogoutUrl();

于 2013-05-27T20:42:35.470 回答
0

您还必须从您的应用程序中注销当前登录的用户。因此,每次用户从您的应用程序中注销时,您还应该销毁用户的 facebook 会话。

尝试这样做以在注销时销毁用户的 facebook 会话:

$facebook = IoC::resolve('facebook-sdk');
$facebook->destroySession();
于 2013-08-29T06:57:24.610 回答