Codeigniter getuser () возвращает 0 после диалога facebook

Вы могли бы сказать, что этот пост является публичным, но я ищу почти 2 дня, не мог понять.

После перехода на новый сервер и установки нового ssl у меня возникли трудности с входом в facebook в двух разных сценариях.

Первый сценарий:

Пользователь не вошел в систему для входа в facebook и facebook, переадресовывает пользователя в facebook. После входа пользователя, facebook перенаправляет на redirect_url, а getuser возвращает 0.

(Пользователь может войти в систему, если вернуться на страницу входа в facebook на моем сайте, так что getuser работает, когда пользователь уже вошел в систему на facebook).

Второй сценарий:

Пользователь подписывается, переходит в диалог разрешений и когда пользователь дает разрешения, снова getuser возвращает 0, поэтому я думал пропустить первый сценарий, но этот сценарий является вирусным.

Я пробовал эти решения:

Сейчас мы используем nginx, на предыдущем сервере я сделал это обновление, и сегодня я расскажу вам, какой conf мы уже добавили.

1- Код Base_facebook.php необходимо обновить для codeigniter и новых версий php.

Facebook PHP SDK: исправление getUser () на PHP 5.4.x

2- Размер файла cookie Nginx изменился, в начале даже обычный вход в facebook не работает.

3- Я кое-что прочитал о пользовательских заголовках nginx, мы сделали эти обновления nginx-php-fpm-and-custom-header

Заголовки подчеркивания Nginx

4- CURLOPT_SSL_VERIFYPEER => false добавлено в base_facebook, опять другое решение для других пользователей.

Я думаю, что после всех этих обновлений мы кое-что упустили, но я действительно не могу понять, что не так? Поэтому я буду очень рад, если вы поделитесь своим опытом со мной, мы сможем выяснить, что не так.

5- parse_str ($ _ SERVER ['QUERY_STRING'], $ _ REQUEST); добавляется до включения библиотек.

Мой пример контроллера fb_login. Я танк_auth_social с tank_auth

function fblogin() { parse_str($_SERVER['QUERY_STRING'],$_REQUEST); $this->load->helper(array('form', 'url')); $this->load->library('form_validation'); $this->load->library('security'); $this->load->library('tank_auth'); $this->load->library('tank_auth_social'); $this->lang->load('tank_auth'); $fb_id = $this->facebook->getUser(); //inline_debug($fb_id); // To see if we have facebook id // User is found if( isset($fb_id) ) { $user_profile = $this->facebook->api('/'.$fb_id); } 

Моя Conf:

PHP версия 5.5.9-1ubuntu4 Nginx, FPM PHP Мой сервер находится на digitalocean.

Большое спасибо.

Related of "Codeigniter getuser () возвращает 0 после диалога facebook"