У меня есть приложение, написанное на symfony 2 (и использующее пакет fosfacebook с пользовательским поставщиком из fosub).Я использую JS SDK и PHP SDK от Facebook в этом приложении.войти в мое приложение и серфинг вокруг возможно.У меня есть одна страница, где я показываю пользователям Facebook друзей.в моем бэкэнде я использую / me / friends для этого запроса.Допустим, я остаюсь около часа на этой странице, которая показывает друзей без какой-либо активности.если я обновлю страницу после этого часа, я получу сообщение:
An exception has been thrown during the rendering of a template ("An active access token must be used to query information about the current user.") in
, что меня как-то смущает.я все еще могу посещать другие страницы моего сайта, где не выполняются прямые «запросы на Facebook».Если я var_dump на facebook access_token на других моих страницах, они выглядят по-другому, например, если я вошел в систему с помощью facebook в том же браузере и вошел в мою заявку через facebook, я получаю следующий access_token на странице, где я отображаюдруг пользователей: AAACbRz2shZAIBAFX66jLuQktdlzzIx52lnSvgZB5hiNNxvy0lPbKMcUsC1BHLTnaAllXI9WN7dRHfa5TOj4HmZBjdwgjP5In46d пользователь отображает *, в этом браузере есть еще одно сообщение: в этом браузере есть еще один браузер, и в этом браузере появляется сообщение, в котором есть еще один браузер.если я перехожу на другую страницу и var_dump access_token, я получаю это: string (48) "170732376699858 | 6c2b4d7ca20f8a607418845634356"
, поэтому просто страница, где отображаются друзья пользователей Facebook, не работает должным образом.
на сайте js я делаю следующее:
function onFbInit() {
if (typeof(FB) != 'undefined' && FB != null ) {
FB.Event.subscribe('auth.authResponseChange', function(response) {
$.each(reponse, function(e) {
alert(e);
});
});
FB.Event.subscribe('auth.statusChange', function(response) {
if (response.session || response.authResponse) {
setTimeout(goLogIn, 500);
} else {
window.location = "{{ path('_security_logout_fb') }}";
}
});
} else {
setTimeout(goLogIn, 500);
}
}
есть идеи, что я делаю не так?Есть ли способ через php sdk, чтобы проверить, является ли access_token действительным?Я прочитал документы, но почему-то я не нашел пути.
Я не использую автономный acces_token, потому что он устарел
Спасибо, Рамо