Я пытаюсь обновить существующую учетную запись Facebook на сайте Expressionengine с API v1.0 до v2.2 в соответствии с требованиями обновления платформы FB. Поскольку Javascript SDK не является опцией (из-за интеграции с модулем EE members), я решил использовать PHP SDK v4.
У меня есть рабочий URL для входа, но когда пользователь возвращается с URL для входа в Facebook, после входа в систему, getSessionFromRedirect()
возвращается NULL
вместо сеанса.
Я просмотрел интернет и просмотрел ответы, опубликованные для людей с похожими проблемами, но ни одно из решений не помогло:
getLoginUrl()
изменение состоянияВ настоящее время я использую адаптацию Бен Маршалс Кодигнитер пример К сожалению, до сих пор возвращается NULL
когда пользователь перенаправлен обратно.
Функция для генерации URL входа в FB выглядит примерно так:
public function generate_fb_url(){
$tags = $this->EE->TMPL->tagdata;
$vars = array();
$redirect='http://redirect.com';
$config=array('redirect'=>$redirect);
$this->EE->load->library('facebook_lib', $config, 'facebook');
array_push($vars, array('status'=>'true', 'error'=>'', 'fburl'=>$this->EE->facebook->login_url(), 'debug'=>'redirect -'.$redirect));
return $this->EE->TMPL->parse_variables($tags, $vars);
}
Он просто инициирует библиотеку CI Facebook и создает URI FB. Как только пользователь возвращается из Facebook, приложение умирает и делает var_dump($this->session);
возвращается NULL
,
Буду признателен за любую информацию, сейчас я вырываю волосы! У меня ужасное чувство, что проблема связана с обработкой сессий Expressionengine, но я могу ошибаться.
Задача ещё не решена.
Других решений пока нет …