$ facebook-> getLogoutUrl (); ссылка не выводит пользователя из facebook

Моя текущая история пользователей заключается в том, что user1 зарегистрирован на моем сайте и в facebook (эти учетные записи подключены и т. Д.).

Пользователь1 выходит из моего сайта, но не в facebook.

После того, как этот пользователь2 войдет в свою учетную запись, но левый сеанс от user1 добавит винты с взаимодействием user2 с моим сайтом и кто они публикуют.

Поэтому, чтобы исправить это, я попросил его проверить, действительно ли пользователь, который вошел в систему, в настоящее время зарегистрирован в facebook (это приведет к тому, что они перейдут на выход в facebook и т. Д.), И он покажет ссылку, которая должна позволить пользователю выйти из системы. ,

После нажатия ссылки они отправляются на facebook и возвращаются на сайт. Но если вы откроете новую вкладку и перейдете на facebook, то User1 все равно войдет в систему.

Как я могу заставить эту ссылку работать. Что происходит. Это ошибка с api или что? …

Редактирование: я продолжал тестирование с загрузкой идентификатора пользователя с ценными данными и с действительными токенами доступа, но мне еще нужно, чтобы ссылка на выход из системы работала.

Solutions Collecting From Web of "$ facebook-> getLogoutUrl (); ссылка не выводит пользователя из facebook"

Немного поздно, но здесь идет мой вклад:

Используйте параметры, когда вы создаете URL-адрес выхода, там перенаправляется на страницу, в которой вы уничтожаете сеанс, используя функцию Facebook API для этого.

Вот пример:

$logoutUrl = $facebook->getLogoutUrl(array("next" => "http://mydomain.com/page4logout")); 

В page4logout вы можете указать объект facebook и выполнить следующее:

 $facebook->destroySession(); 

После этого вы можете сделать перенаправление.

удалите файл cookie и сеанс facebook вручную. Вот мое решение, как я решил проблему некоторое время назад, она думает, что это ошибка Facebook:

 setcookie('fbs_'.$this->getAppId(), '', time()-100, '/', $_SERVER["SERVER_NAME"]); unset($_SESSION['fb_'.$this->getAppId().'_code']); unset($_SESSION['fb_'.$this->getAppId().'_access_token']); unset($_SESSION['fb_'.$this->getAppId().'_user_id']); unset($_SESSION['fb_'.$this->getAppId().'_state']); с setcookie('fbs_'.$this->getAppId(), '', time()-100, '/', $_SERVER["SERVER_NAME"]); unset($_SESSION['fb_'.$this->getAppId().'_code']); unset($_SESSION['fb_'.$this->getAppId().'_access_token']); unset($_SESSION['fb_'.$this->getAppId().'_user_id']); unset($_SESSION['fb_'.$this->getAppId().'_state']); с setcookie('fbs_'.$this->getAppId(), '', time()-100, '/', $_SERVER["SERVER_NAME"]); unset($_SESSION['fb_'.$this->getAppId().'_code']); unset($_SESSION['fb_'.$this->getAppId().'_access_token']); unset($_SESSION['fb_'.$this->getAppId().'_user_id']); unset($_SESSION['fb_'.$this->getAppId().'_state']); с setcookie('fbs_'.$this->getAppId(), '', time()-100, '/', $_SERVER["SERVER_NAME"]); unset($_SESSION['fb_'.$this->getAppId().'_code']); unset($_SESSION['fb_'.$this->getAppId().'_access_token']); unset($_SESSION['fb_'.$this->getAppId().'_user_id']); unset($_SESSION['fb_'.$this->getAppId().'_state']); 

$ this-> getAppID – ваш идентификатор приложения Facebook, должен быть ясным; o)

Один из способов проверить это – с помощью SDK SDK и JavaScript SDK.

Когда пользователь посещает ваш сайт, вызовите FB.getLoginStatus () и убедитесь, что authResponse.userID соответствует тому, что возвращает SDK PHP в $facebook->getUser(); (вы можете сделать это с помощью вызова AJAX, если это поможет).

Вы знаете, что если идентификатор пользователя не соответствует, то здесь что-то не так. Вызов $ facebook-> getLogoutUrl () должен регистрировать пользователя как на вашем сайте, так и на facebook, но если это не так, попробуйте использовать session_destroy() в своем коде, чтобы очистить сеансы. Затем перенаправите пользователя обратно в $ facebook-> getLoginUrl () и снова запустите их. Это исправит неправильное совпадение в ID пользователя, и вы сможете повторить процесс, когда они вернутся на ваш сайт.

Я видел это в других приложениях, что заставляет меня думать, что это проблема с facebook. JavaScript SDK, похоже, не проверяет, сохраняется ли файл cookie (если он уже существует).