Я создаю веб-приложение (PHP), которое использует FB connect.Я успешно зарегистрировался / вошел в систему с помощью PHP-библиотеки, предоставленной Facebook.Также я могу публиковать сообщения на стене, используя этот код
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2;
$facebook = new Facebook(array(
'appId' => $fb_key,
'secret' => $fb_secret,
'cookie' => true, // enable optional cookie support
));
$session = $facebook->getSession();
if ($session)
{
$facebook->api('/me/feed', 'POST', array('message'=>$message, 'link'=>$link['href'], 'name'=>$link['text']));
}
Однако, если я вручную зайду в диспетчер файлов cookie моего браузера и удалю файл cookie, в котором хранится сеанс FB, код не будет работать.Единственное, что у меня есть, это FB ID пользователя, который я храню в БД.Есть ли способ опубликовать на стене пользователя, даже если сеансы FB потеряны?Имеет ли смысл хранить маркер доступа FB пользователя в БД для последующей публикации на стене или токен доступа относительно недолговечен?
Вот пример ситуации, которая может произойти в моем приложении: пользователь нажимает кнопку fb, авторизует мое приложение, перенаправляется обратно на мой сайт, где я автоматически создаю учетную запись на основе данных, предоставленных FB, а также храню FB пользователяID, чтобы я мог войти в этот пользователь позже.Теперь он просматривает сайт, вводит некоторую информацию, и эта информация публикуется на его стене.Пока все в порядке, потому что браузер пользователя хранит куки, созданные FB.Теперь пользователь покидает сайт и связывается с администратором сайта.Администратор открывает свой собственный браузер, переходит в интерфейс администратора и публикует что-то от имени этого пользователя.Теперь, имея идентификатор FB этого пользователя и предполагая, что пользователь не отменил разрешения, могу ли я публиковать это на своей стене?