Изменения в файлах cookie и oauth 2.0 в Facebook - PullRequest
5 голосов
/ 16 декабря 2011

Эта функция работала для меня до того дня, когда Facebook решил применить некоторые изменения.

    function get_facebook_cookie() {
    $app_id             = '[MyAppID]';
    $application_secret = '[MyAppSecrect]';

    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;
        }
}

Мне удалось получить токен доступа пользователей FB так же легко, как и

$cookie['access_token']

Теперь, похоже, я больше не могу получить эту информацию.

Я успешно (легко) смог внести необходимые изменения в мой код JavaScript, но я немного озадачен со стороны php. В качестве краткого примечания я использую codeigniter, и у меня было много проблем, пытаясь заставить FB PHP SDK играть хорошо, также я не видел никаких примеров интеграции PHP 3 SDK в codeigniter, поэтому я ищу быстрое и грязное решение, которое позволит мне получить токен доступа из куки, что позволит мне использовать следующий вызов API Facebooks:

'https://api.facebook.com/method/friends.getAppUsers?access_token=' . $cookie['access_token'];

Любая помощь очень ценится.

1 Ответ

7 голосов
/ 17 декабря 2011

это потому, что Facebook меняет имя файла cookie с fbs_ на fbsr_.

Но было больше изменений. Просто следуйте этим шагам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...