facebook-> getUser使用nginx返回null

时间:2012-11-08 09:20:12

标签: php facebook sdk

我使用nginx作为反向代理:

location /facebook/
{

    proxy_pass  http://upload  #this is an nother server;
    proxy_redirect off;
}

和我的代码:

$facebook = new Facebook(array(
 'appId'  => "xx", 
 'secret' => "xxxxxxxx", 
));


$user = $facebook->getUser();


if ($user){
    $user_profile = $facebook->api('/me');
    var_dump($user_profile);
}

else
{

    $url=$facebook->getLoginUrl( array( 'scope' => $req_perms) );
    //if I used nginx I must change redirect_uri 
    $url = str_replace('http%3A%2F%2Fupload%2F', 'http%3A%2F%2F'. $mydomian .'%2F',$url);
    header("Location:".$url);
}

如果我不使用nginx作为反向代理,它可以正常工作,但如果我使用它,它会创建一个无限循环,因为$facebook->getUser()返回0.我不知道问题是什么。

1 个答案:

答案 0 :(得分:0)

您登录的网址必须与开发者应用https://developers.facebook.com/apps/YOUR_APP_ID/summary中“选择应用与Facebook的整合方式”中设置的网址相匹配,否则无法使用