使用Facebook API授权并登录/注销

时间:2012-06-18 13:33:26

标签: php facebook

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

        $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>';

1 个答案:

答案 0 :(得分:3)

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

之后,有一个用户,所以你立即将他发送到注销网址(将他注销,并将他重定向回你的应用)。

之后......从头开始重复。