0

У меня очень странная проблема. Я разработал приложение iframe Facebook почти год назад. Я использую facebook-php-sdk для входа в сеанс пользователя и других деталей. Недавно я внес некоторые изменения и использовал новый API на основе facebook OAuth. Но теперь я столкнулся с проблемой, когда пользователь выходит из Facebook, но мое приложение iframe может получить доступ к его сеансу facebook. Проблема только воспроизводится в IE.Сессия не отменяет старое приложение iframe facebook

Я использую схему CodeIgniter и направил сообщение this. Ниже приведен фрагмент кода:

$this->facebook = new Facebook(array('appId' => $this->appId, 'secret' => $this->secretKey, 'cookie' => true,)); 
$this->session = $this->facebook->getSession(); 
var_dump($this->session); 

В выходных данных я получаю все допустимые значения сеанса даже после выхода пользователя из системы. Попробовав много вещей, я создал новое приложение facebook и указал URL-адреса на мой же код. Я изменил код и использовал AppId, Appkey и AppSecret, предоставленные этим новым приложением facebook. Сейчас все работает отлично.

Настройки в обоих приложениях facebook абсолютно одинаковы. Единственное изменение - appURL и ключи. Это странное поведение, а не приемлемое решение для меня. Я хочу, чтобы мое старое приложение facebook работало с новым API Facebook. почему это происходит? Есть идеи?

+0

И вдруг я начал облицовку. тот же вопрос IE в моем новом приложении для Facebook. – Adnan

ответ

1

У меня была такая же проблема, и исправить это мне пришлось вручную уничтожить facebook куки (который содержит маркер доступа)

SO:

добавить:
$ _ COOKIE [ "fbs_" , $ this-> appId] = null;
перед:
$ this-> facebook = новый Facebook (...

так каждый раз, когда он создает новый класс facebook он уничтожает печенье сформирует старый сеанс первого

+0

это возможно в браузере Safari, так как Safari can not store cookie на вкладке iframe .. или я ошибаюсь? – msaif

Смежные вопросы