Facebook PHP SDK在主域和多个子域之间进行身份验证

时间:2013-04-16 12:26:23

标签: authentication login facebook-php-sdk

我真的无法做到这一点。我已经尝试过在SO或其他网站上找到的所有步骤,但我的跨域fb身份验证不起作用..

我的身份验证脚本如何:

session_set_cookie_params(0,"/",".my-domain.com");
session_start();

// include facebook class
try {
  $fb = new Facebook(array(
    'appId' => $facebook_app_id,
    'secret' => $facebook_app_secret,
    'cookie' => true
  ));
} catch(FacebookAPIException $e) {
  // no active fb session
}

// other content here

try {
  $uid = $fb->getUser();

  if($uid) {
    $user = $fb->api('/me','GET');  
  }

} catch(FacebookApiException $e) {
  // not logged in
}

现在的问题是,此代码在my-domain.com上运行良好,但在subdomain.my-domain.com上运行不正确。

即使我在主域my-domain.com上成功进行身份验证,当我访问subdomain.my-domain.com时,主域的会话也会被替换,连接也会丢失。

注意,在subdomain.my-domain.com的情况下,没有抛出API异常,但$uid为0。

我已经在FB APP设置页面上将域设置为my-domain.com

这是问题所在?

0 个答案:

没有答案