Facebook oauth проблема с http реферером - PullRequest
0 голосов
/ 19 мая 2011

Сегодня я получил электронное письмо со словами:

Во всех рассмотренных нами случаях эта информация передается через заголовок HTTP Referer браузером пользователя.Это может произойти при использовании нашей устаревшей системы аутентификации и включении контента третьих сторон на странице, которая получает данные аутентификации от Facebook.Наш устаревший механизм передает информацию аутентификации в строке запроса URL, которая, если обрабатывается неправильно, может быть передана сторонним браузером.Наша текущая система аутентификации OAuth 2.0, выпущенная более года назад, передает эту информацию во фрагменте URL, который не передается третьим лицам браузером.

Я немного смущен тем, какЯ интегрировал использование PHP API, используя аналогичный ответ, как в файле example.php:

https://github.com/facebook/php-sdk

Вот как я делаю запрос:

$facebook = new Facebook(array(
    'appId'  => FACEBOOKAPPID,
    'secret' => FACEBOOKSECRET,
    'cookie' => false,
));
$fb_session = $facebook->getSession();
$fb_me = null;
// Session based API call.
if ($fb_session) {
    try {
        $fb_uid = $facebook->getUser();
        $fb_me = $facebook->api('/me');
        $fb_me['photo'] = 'http://graph.facebook.com/'.$fb_uid.'/picture?type=large';
        $_SESSION['register_api'] = 1;
        $_SESSION['register_api_details'] = $fb_me;
        $_SESSION['register_api_user_id'] = $fb_uid;
        header_redirect(SITEURL.'/register');
    } catch (FacebookApiException $e) {
        error_log($e);
    }
}
else{
    # LOGIN URL FOR FACE BOOK & request extra stuff
    $fb_login_url = $facebook->getLoginUrl(array('req_perms'=>'email,user_about_me,user_birthday,user_website'));
    header_redirect($fb_login_url);
}

Все работает нормально, но я не понимаю, что я делаю неправильно.Насколько я знал, я использую oauth.

Помогите, пожалуйста!Мне нужно запустить на следующей неделе.

Спасибо!

1 Ответ

0 голосов
/ 16 июня 2011

Оказывается, они как раз собирались выпустить новую версию API, которая решила эту проблему.

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