Я изо всех сил стараюсь поддерживать сессию Facebook, используя PHP на моем сайте.
Я использую JavaScript SDK и PHP SDK, чтобы сформировать основу моего приложения.
Проблема, с которой я столкнулся, заключается в том, что, когда «сессия Facebook» заканчивается, мой PHP-скрипт считает, что вы вышли из Facebook. Но как только я вызываю FB.init()
с помощью JavaScript SDK, сессия возвращается к жизни.
Есть ли способ добиться того же с помощью PHP SDK? Или я могу установить пользовательское время истечения в сеансе Facebook?
Извлечено из комментариев
Кажется, что время истечения сеанса установлено на 2 часа, но я не уверен в этом. Я не думаю, что вызов PHP API будет иметь значение. Мне нужно объяснить немного яснее, что происходит. По сути, если вы попадаете на мою домашнюю страницу, вы получаете возможность войти через Facebook. Если вы делаете, это все работает отлично! После того, как вы вошли в систему и авторизовали приложение, все в порядке, пока не закончится сеанс. Когда сеанс истекает, кажется, что PHP SDK не может определить, вошли ли вы в систему через Facebook, однако Javascript SDK есть. Я использую getUser () для PHP SDK.
Другими словами, поскольку сеанс истек, PHP думает, что вы больше не авторизованы через Facebook. Javascript SDK может определить, вошли ли вы в систему или нет, независимо от того, существует ли сеанс. Когда он понимает, что вы есть, он воссоздает сеанс в любом случае. Но для того, чтобы сессия была подхвачена PHP, страница должна быть обновлена. У меня проблема, потому что на странице отображается контент, основанный на вашем логине на Facebook, мне нужен PHP SDK, чтобы также можно было воссоздать сеанс, чтобы не было необходимости обновлять страницу.