Я реализовал пример подключения Facebook с моим сайтом Codeigniter. Я пытаюсь довести код подключения Facebook до настоящего времени, но я не могу разобраться, как разбирать fbsr_cookie, который заменил fbs_cookie.Разбор fbsr_cookie
У меня есть следующий код -
function get_facebook_cookie()
{
// get the fb app id, and secret from CI config source
$CI =& get_instance();
$app_id = $CI->config->item('facebook_app_id');
$application_secret = $CI->config->item('facebook_app_secret');
if(isset($_COOKIE['fbs_' . $app_id])){
$args = array();
parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args);
ksort($args);
$payload = '';
foreach ($args as $key => $value) {
if ($key != 'sig') {
$payload .= $key . '=' . $value;
}
}
if (md5($payload . $application_secret) != $args['sig']) {
return null;
}
return $args;
}
else{
return null;
}
}
, а затем, чтобы получить пользователя Facebook ID -
function getUser()
{
$cookie = $this->get_facebook_cookie();
$user = @json_decode(file_get_contents('https://graph.facebook.com/me?access_token=' . $cookie['access_token']), true);
return $user;
}
Кто-нибудь есть идея, как я могу изменить это, чтобы работать с fbsr_cookie?
Спасибо.
Почему вы просто не используете FB PHP SDK? – zerkms
Я использую Codeigniter и Tank_auth для обработки входа в систему. Это из-за расширения Tank_auth, которое обрабатывает сторонние сценарии входа. Я думал, используя этот метод, это облегчило бы жизнь. – Tom
@tom - я использую Tank_auth и eric bae's XTA2, но этот комбо не работает больше, так как FB изменил некоторые вещи своим новым oAuth 2.0 - у меня недавно возникли проблемы с новым файлом cookie, но мне удалось получить эту работу с FB SDK - пусть я знаю, если вы решили это уже, и я могу попытаться помочь – pepe