首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook连接到Facebook iframe

Facebook连接到Facebook iframe
EN

Stack Overflow用户
提问于 2012-05-18 07:52:08
回答 1查看 539关注 0票数 0

实际上,我试图找到一个解决方案,但什么也没有,我希望我能在这里找到一个解决方案!

我在我的网站上使用facebook连接,当我登录到facebook上时,一切都正常,我通过facebook连接自动登录到我的站点,反之亦然。

现在,我试图将它变成facebook应用程序,但我有以下问题:我试图在facebook中运行,但不幸的是,我并没有自动登录。有时起作用,有时什么也不发生,有时我收到这样的信息:(无法获得Facebook会话)。您的服务器可能无法安全地连接到用户以检索信息。)

一些代码im使用:

代码语言:javascript
复制
include 'includes/facebook.php';

$facebook = new Facebook(array(
  'appId'  => $setting['facebook_appid'],
  'secret' => $setting['facebook_secret'],
  'cookie' => true, // enable optional cookie support
));

if ($facebook->getUser()) {
$facebook_session = 1;

try {
  $fb_user = $facebook->api('/me');
} catch (FacebookApiException $e) {
  error_log($e);
}

function get_facebook_cookie($app_id, $application_secret) {
  $args = array();
  parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args);
  ksort($args);
  $payload = '';
  foreach ($args as $key => $value) {
    if ($key != 'sig') {
      $payload .= $key . '=' . $value;
    }
  }
  if (md5($payload . $application_secret) != $args['sig']) {
    return null;
  }
  return $args;
}

$cookie = get_facebook_cookie($setting['facebook_appid'], $setting['facebook_secret']);

$open = @file_get_contents('https://graph.facebook.com/me?access_token='.$cookie['access_token']);

if ($open != FALSE) {
    $fbdata = json_decode($open);
    $fb_user = array();

    foreach($fbdata as $key => $fbdata2) {
        $fb_user[$key] = $fbdata2;
    }
}

}
else {
    $facebook_session = 0;
}

ps:我当然使用了一个安全的画布URL

请帮帮忙!提前感谢

EN

回答 1

Stack Overflow用户

发布于 2012-05-18 08:25:38

首先,您是在使用Firefox、Chrome还是?我有一些问题,在FB-连接使用它与IE。要解决这个问题,您需要添加以下内容:

代码语言:javascript
复制
header('P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

到您的头,以便可以使用IFrame中的会话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10648780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档