Я пытаюсь получить страницы пользователя:Facebook signed_request куки неправильного код
<?php
try {
$pages = $facebook->api('/me/accounts?fields=id,name');
if (isset($pages['data'])) {
$this->assign('pages', $pages['data']);
$this->pages = $pages['data'];
}
} catch (\FacebookApiException $e) {
$loginUrl = $facebook->getLoginUrl(
array(
'redirect_uri' => $this->container->getParameter('home_url'),
'scope' => 'email,manage_pages'
)
);
echo '<script type="text/javascript">top.location.href = "'.$loginUrl.'";</script>';
exit;
}
но я прыгаю в бесконечный цикл перенаправления. После некоторых исследований выяснилось, что PHP SDK получает ошибку API в методе getAccessTokenFromCode
. $access_token_response
переменная:
{"error":{"message":"This authorization code has expired.","type":"OAuthException","code":100}}
PHP SDK занимает code
значение из COOKIE. Проблема в том, что fbsr_{app_id}
не сбрасывается, и он все еще содержит тот же код. И в этом причина бесконечного цикла.
Что я могу сделать для решения этой проблемы. Я думал об удалении fbsr_{app_id}
cookie, но это выглядит странно. Почему SDK не обрабатывает это для меня?
Я знаю, что вы нашли обходной путь для этой старой проблемы, но это определенно проблема. Даже после удаления этого файла cookie JS SDK все еще генерирует signed_request с ранее использованным кодом. Я сохраняю смысл создавать воспроизводимый сценарий и сообщать об этом в качестве ошибки. Просто наткнулся на него в 11-м часе попытки получить приложение, нажатое вживую. – rmarscher