【问题标题】:Can't get Oauth facebook cookies using Koala for connecting to Facebook (with Rails)无法使用 Koala 获取 Oauth facebook cookie 以连接到 Facebook(使用 Rails)
【发布时间】:2013-12-05 06:58:39
【问题描述】:

我使用的是 Rails 3.0.9。 尝试通过 Facebook 登录我的(本地主机)网站。

我在登录页面上的初始化参数:

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

登录按钮有效,我得到 Facebook 登录弹出窗口,我可以成功登录 Facebook。 然后达到以下事件:

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

我被重定向到想要的位置。 但是 - 无法获得任何“fbs_”或“fbsr_”的 cookie,就像 Oauth 正在寻找的那样:get_user_info_from_cookie(cookies)

我的 cookie = {},什么都没有。 在某些情况下,我记得我确实有一些 facebook cookie,我无法重建这种情况,但无论如何,它不包括“fbs_”,只有其他。

另外,登录后,当我返回浏览器上的 Facebook 选项卡并刷新时,它会显示我的 Facebook 页面,但一秒钟后,它会显示一个弹出窗口,上面写着“您需要登录”。但在我的应用中,它仍然知道继续将我定向到所需的 href,就像用户登录时需要的那样。

如果你有什么可以帮助我的,我真的很想听听... :-)

谢谢, 莫兹利。

  • 刚刚又得到了一些 Facebook cookie 的场景(仍然不是想要的名字)。得到以下名称:“datr”、“locale”、“locale”、“reg_fb_gate”、“lu”。 但即使是这些,我也无法使用 Rails cookie 参数 - cookies["dart"] 返回 null。 cookies 参数仅显示带有 localhost 主机的 cookie(其中包含我登录时的数据(有许可) - 网站的常规登录过程。

【问题讨论】:

    标签: ruby-on-rails facebook cookies oauth koala


    【解决方案1】:

    只是想更新说我已经解决了我的问题:

    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')); 
      

    这为我解决了 cookie 问题!

    【讨论】:

      【解决方案2】:

      如果您想使用 localhost 进行 facebook 开发,请将“127.0.0.1 localhost.local”记录添加到您的 /etc/hosts 文件中,在 developers.facebook.com 的应用程序设置中更改域并将浏览器指向此 url - 它完美运行

      【讨论】:

        猜你喜欢
        • 2016-03-06
        • 1970-01-01
        • 2016-07-14
        • 2012-12-10
        • 2012-02-15
        • 2015-03-14
        • 1970-01-01
        • 1970-01-01
        • 2012-06-17
        相关资源
        最近更新 更多