登录facebook错误,codeigniter无效网址

时间:2013-09-09 11:54:23

标签: facebook codeigniter

我正在开展一个项目。我希望用户使用facebook登录。但在facebook身份验证之后,我收到了这个错误:

  

应用程序配置不允许使用URL:应用程序的设置不允许使用一个或多个给定的URL。它必须与网站URL或Canvas URL匹配,或者域必须是App域之一的子域。

我在Google上搜索了很长时间,每当我得到这个答案时,我的Facebook应用程序域名可能存在问题。

我一次又一次地改变了我的fb应用程序,但每次我都得到同样的错误。

我的Facebook应用程序的一些设置是:

  

应用域名:superhitdomains.com   
  网站网址:http://superhitdomains.com   
  我的观点页面是:

Login with facebook

我的控制器是:

if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Social extends CI_Controller 
{
    public function __construct()
    {
        parent::__construct();
        parse_str( $_SERVER['QUERY_STRING'], $_REQUEST );
        $CI = & get_instance();
        $CI->config->load("facebook",TRUE);
        $config = $CI->config->item('facebook');
        $this->load->library('Facebook', $config);
    }

    public function fb_request()
    {
       $userId = $this->facebook->getUser();
       if($userId == 0)
       {
          $data = array(
            'redirect_uri'=> base_url().'social/handle_user_fb_login',
            'scope'=>'email'
          );
          redirect($this->facebook->getLoginUrl($data));
          //print_r($data); exit;
       }
       else 
       {
         // Get user's data and print it
         $user = $this->facebook->api('/me');
         print_r($user);    
       }
    }

    public function handle_user_fb_login()
    {
        $userId = $this->facebook->getUser();
        if($userId !=0)
        {
            $user = $this->facebook->api('/me');
            print_r($user); 
        }
        else
        {
            echo 'could not connected with facebook';
        }
    }
}

任何人都可以帮我解决我的代码有什么问题吗?

由于

1 个答案:

答案 0 :(得分:0)

我认为可以安全地假设您的base_url().'social/handle_user_fb_login'是用户重定向的无效网址。检查您的Facebook应用,确保base_url()确实被提及为画布网址或网站网址。

这是Facebook强制执行的,以便他们自己的网站可以相应地重定向您,而不是直接将您发送给(其他)恶意网站。