Я занимаюсь разработкой приложения для Facebook. Я использовал сеансы с файлами cookie, и все работало нормально. Внезапно IE8 имеет некоторые ошибки с файлами cookie. Он блокировал мой сайт, потому что он был в iframe. Итак, я узнал о P3P Header. Я использовал это правильно, и проблема решена. Но теперь клиент хочет, чтобы я использовал GET, если файлы cookie недоступны. Я делаю это, но теперь я сталкиваюсь с проблемой, что у Facebook PHP Sdk есть проблема в своей сессии. Его метод getSession не получает сеанс и перенаправляет его для аутентификации пользователя, а затем перенаправляет обратно в приложение. но при этом он теряет переменную GET PHPSESSID. Ниже приведен поток stackoverflow, в котором есть нечто похожее, так что, может быть, для вас, ребята, следующее полезно.
Facebook PHP SDK getSession () не может получить сессию. Проблема с cookie?
Этот код используется для сеансов с GET, если файлы cookie недоступны:
ini_set( 'session.use_cookies_only', false );
ini_set( 'session.use_trans_sid', true );
session_start();
Это код для доступа к fb. сессия с PHP Sdk.:
$facebook = new Facebook(array(
'appId' => FACEBOOK_APPID,
'secret' => FACEBOOK_SECRET,
'cookie' => true,
));
$this->facebook=$facebook;
// We may or may not have this data based on a $_GET or $_COOKIE based session.
// If we get a session here, it means we found a correctly signed session using
// the Application Secret only Facebook and the Application know. We dont know
// if it is still valid until we make an API call using the session. A session
// can become invalid if it has already expired (should not be getting the
// session back in this case) or if the user logged out of Facebook.
$this->session = $facebook->getSession();
Пожалуйста, скажите, можете ли вы дать мне какую-либо подсказку.
спасибо всем вам