Не удается получить cookie-файлы Oauth Facebook, используя Koala для подключения к Facebook (с Rails) - PullRequest
1 голос
/ 06 ноября 2011

Я использую Rails 3.0.9.Попытка войти на мой (localhost) сайт через Facebook.

Мои параметры инициализации на странице входа в систему:

FB.init({
      appId : '<%= FB_APP_ID %>',
      status : true,
      cookie : true,
      xfbml : true
});

Кнопка входа работает, я получаю всплывающее окно входа в Facebook и могу успешнозайди в Фейсбук.Затем происходит следующее событие:

FB.Event.subscribe('auth.sessionChange', function(response) {
    if (response.session) {location.href= ...}

И меня перенаправляют в нужное место.Но - не могу получить куки "fbs_" или "fbsr_", которые ищет Оавт: get_user_info_from_cookie (cookie)

Мои куки = {}, там ничего нет.В некоторых случаях я вспоминаю, что у меня там были некоторые куки-файлы facebook, я не могу восстановить такой случай, но в любом случае он не включал "fbs_", только другие.

Кроме того, после регистрацииЧерез, когда я возвращаюсь на вкладку Facebook в браузере и обновляю, он показывает мою страницу в Facebook, но через секунду появляется всплывающее окно с надписью «Вам необходимо войти».Однако в моем приложении он все еще знает, как направлять меня к нужному разделу, как это необходимо, когда пользователь вошел в систему.

Мне бы очень хотелось услышать, есть ли у вас что-нибудь, что может мне помочь ...:-)

Спасибо, Moozly.

  • Только что снова получил сценарий с некоторыми cookie-файлами Facebook (все еще не по нужным именам).Получили следующие имена: "datr", "locale", "locale", "reg_fb_gate", "lu".Но даже к этому я не могу добраться с параметром cookie Rails - cookie ["dart"] возвращает ноль.Параметр cookie показывает только файлы cookie с хостом localhost (который содержит данные, когда я вхожу в систему (с оформлением) - обычная процедура входа на сайт.

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

Просто хотел обновить, чтобы сказать, что я решил свою проблему:

  1. Я добавил к init параметр: oauth : true:

    FB.init({
        appId : '<%= FB_APP_ID %>',
        status : true,
        cookie : true,
        xfbml : true,
        oauth : true
    });
    
  2. По-видимому, есть ошибка с добавлением параметров, добавленных в js.src, поэтому я удалил их (!) И проблема была решена:

    (function(d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) {return;}
        js = d.createElement(s); js.id = id;
        js.src = "//connect.facebook.net/en_US/all.js" //removed: #xfbml=1&appId=<%= FB_APP_ID %>";
        fjs.parentNode.insertBefore(js, fjs);
    }
    (document, 'script', 'facebook-jssdk')); 
    

Эторешил проблему с печеньем для меня!

0 голосов
/ 05 декабря 2013

Если вы хотите использовать localhost для разработки Facebook, добавьте запись «127.0.0.1 localhost.local» в ваш файл / etc / hosts, измените домен в настройках приложения на developers.facebook.com и укажите браузер на этот URL - itработает без нареканий

...