Я разработал приложение для входа в Facebook (Facebook SDK) с помощью codeigniter. Во-первых, я делаю это на своем локальном компьютере.
Это работает хорошо, когда вход в систему выполнен успешно, facebook перенаправляется обратно с помощью redirect_uri на мой боковой контроллер и получает userId для запроса информации о зарегистрированном пользователе.
Но когда я загружаю этот код на сервер, redirect_uri работает, но я получаю 0 для userId, поэтому, если userId 0, я не могу запрашивать данные зарегистрированных пользователей.
Мой вопрос: почему userId возвращает 0 после успешного входа в систему?
Контроллер кода:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Setting extends CI_Controller {
public function __construct()
{
$CI = & get_instance();
$CI->config->load("facebook",TRUE);
$config = $CI->config->item('facebook');
$this->load->library('facebook', $config);
}
public function index()
{
if($this->form_validation->run() == FALSE){
$this->acc_login();
}else {
redirect('check_session', 'refresh');
}
}
public function acc_login()
{
$user = $this->facebook->getUser();
if($user) {
try {
$user_info = $this->facebook->api('/me');
redirect(base_url());
} catch(FacebookApiException $e) {
echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
$user = null;
}
} else {
$param = array('scope' => 'email,read_stream','redirect_uri' => $my_url);
$data['getURLLogin'] = "<a href=\"".$this->facebook->getLoginUrl($param)."\"><img src=\"".base_url()."public/frontend/images/login-fb.png\" width=\"155\" height=\"25\" /></a>";
}
}
}
?>