1

ログインと登録に F​​acebook PHP SDK を使用しています。コードは次のようになります。

require_once('facebook/facebook.php');

$facebook = new Facebook(array(
    'appId'  => 'id',
    'secret' => 'secret',
    'cookie' => true,
));

$user = $facebook->getUser();

if ($user) {
    try {
        $user_profile = $facebook->api('/me');
    } catch (FacebookApiException $e) {
        error_log($e);
        $user = NULL;
    }
}

if ($user) {
    $_SESSION["logout_url"] = $logoutUrl = $facebook->getLogoutUrl( array(
                   'scope' => 'offline_access, publish_stream, email',
                   )); 

    $_SESSION["userprofile"] = $user_profile;


    header("Location: $index");

}
else {
    $loginUrl = $facebook->getLoginUrl( array(
                   'scope' => 'offline_access, publish_stream, email',
                   )); 

    header("Location: $loginUrl");
}

ログインして、Web ブラウザーの Facebook セッションをオフにしてから再度オンにすると、次のような JS スクリプトを追加します。

   FB.init({
     appId  : 'id',
     status : true, 
     cookie : true, 
     xfbml  : true  
   });

Cookieに関する私の問題を解決するはずです。しかし、2 回目にログインすると、スクリプトがリダイレクトの無限ループを作成し、サイトを読み込めなくなります。この後、app_secret_id を再起動し、JS コードを切り取って再度ログインできるようにする必要があります。

4

0 に答える 0