Я немного новичок в этом, так что терпите меня.
Я установил кнопку «Войти через Facebook» через Javascript SDK, которая отлично работает.
Я также настроил код PHP (facebook.php)
Я могу успешно войти в Facebook через javascript, но затем не могу получить доступ к UID из сессии через php.
Итак, как я могу получить php для доступа к сессионным наборам javascript?
спасибо
Редактировать: (Размещать код ниже, чтобы его было легче читать)
Я могу консоль записать ответ и увидеть его.
FB.getLoginStatus(function(response) {
console.log(response.session.uid);
});
Обновите страницу и попробуйте получить доступ к сеансу, который был установлен через php, он становится пустым.
require_once(RELATIVE_PATH.'applibs/facebook.php');
$config = array('appId'=>Config::$fb_app_id, 'secret'=>Config::$fb_secret, 'cookie'=>true);
$fb = new Facebook($config);
$fb->getUser(); // this will equal null because the $fb object isnt finding the cookie supposedly set by javascript
* Сделал некоторую отладку в facebook.php
в строке 358 ...
$ cookieName = $ this-> getSessionCookieName ();
// возвращает fbs_myNumericAppId, похоже, что это сработало ..
if (isset ($ _ COOKIE [$ cookieName])) {
// СБОЙ! нет $ _COOKIE ['fbs_myNumericAppId']
Это кажется логичным, поскольку как войти в facebook.com может узнать, что такое мой идентификатор приложения?
Я также заметил, что после входа на facebook.com, в $ _COOKIE НИЧЕГО нет.
Итак, чтобы войти в facebook через facebook.com, а затем на веб-сайте заметить, что для входа необходимо запустить FB.login при загрузке страницы.
Затем вы должны установить cookie через информацию javacript, возвращаемую в $ _COOKIE, чтобы php мог забрать его где-либо еще.