我的 facebook 应用程序在授权时被重定向到 iFrame 之外。我已经使用了来自 gitHub 的 facebook.php 和 base_facebook.php 没有任何更改,并且几乎遵循了 example.php。我可能会错过什么?:
$facebook = new Facebook(array(
'appId' => $configParam['appId'],
'secret' => $configParam['secret']
));
$appId=$configParam['appId'];
$user = $facebook->getUser();
if ($user==null) {
$loginUrl = $facebook->getLoginUrl(array(
'scope' => $perm
));
$loginUrl = $facebook->getLoginUrl();
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
}
loginUrl 在 base_facebook.php 中构造为:
$this->establishCSRFTokenState();
$currentUrl = $this->getCurrentUrl();
return $this->getUrl(
'www',
'dialog/oauth',
array_merge(array(
'client_id' => $this->getAppId(),
'redirect_uri' => $currentUrl, // possibly overwritten
'state' => $this->state),
$params));