0

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));
4

1 に答える 1

0

これは、これら2つの問題を解決するために注意を払ったことの組み合わせです。1。iFrameからアプリをリダイレクトするFacebook認証(ifaourで言及)2。ループに入るアプリ3.IEでのみループに入るアプリ

(1)の場合、すべてが一貫してhttps(またはhttp)である必要があります。安全なキャンバスのURLをhttpsのままにしましたが、キャンバスのURLをhttpのままにしました(これで問題ないと思いました)。どうやら、両方がhttpsである必要があります

(2)の場合、GitHubのOOB facebook-php統合コードは、現在のURLをredirect_uriとして使用します。これをapps.facebook.com/namespaceに変更する必要があります。これはbase_facebook.phpの2つの場所(getLoginUrlとgetAccessTokenFromCode)で行う必要があることに注意してください。

(3)については、なぜ私のFBアプリがIEで永遠にループするのかを見てください。

于 2012-10-29T01:01:05.887 に答える