使用 Facebook API 和登录/注销进行授权


Authorizing with Facebook API and login/logout

我有以下用于登录/注销的脚本:

        $config = array();
        $config['appId'] = 'xxx';
        $config['secret'] = 'xx';
        $config['cookie'] = true; // optional
        $facebook=new Facebook($config);
        $user=$facebook->getUser();
        if ($user) 
        {
            //echo "Authorized";
            $logout_url=$facebook->getLogoutUrl();
            header("Location: ".$logout_url);
        }
        else 
        {
            //echo "Not authorized";
            $login_url=$facebook->getLoginUrl();
            header("Location: ".$login_url);
        } 

它适用于登录,但我在注册时遇到了一些问题:当我成功授权时,我必须看到注销窗口,但相反,我的浏览器将被加载,我将看到错误错误 310 (net::ERR_TOO_MANY_REDIRECTS)。问题出在哪里?谢谢

更新:

        $config = array();
        $config['appId'] = '436058296415139';
        $config['secret'] = '50c4ec9a2a565085e8a2e73cd0433111';
        //$config['cookie'] = true; // optional
        $facebook=new Facebook($config);
        $user=$facebook->getUser();
        $data=array();
        if ($user) 
        {
            //echo "Authorized";
           $data['url']=$facebook->getLogoutUrl();
           $data['title']='For logout';
        }
        else 
        {
            //echo "Not authorized";
            $data['url']=$facebook->getLoginUrl();
            //header("Location: ".$login_url);
            $data['title']='For login';
        }
        echo '<a href="'.$data['url'].'">'.$data['title'].'</a>';

如果没有用户,您将他发送到登录对话框(他登录并被重定向到您的应用程序)。

之后,有一个用户,因此您立即将他发送到注销 URL(这会将他注销,并将他重定向回您的应用程序)。

然后。。。从"开始"屏幕重复。