FB_Graph auth.from_cookie(cookies)适用于IE,Opera仅适用于localhost:3000。适用于Chrome,Safari和Firefox

时间:2011-11-17 16:55:15

标签: facebook google-chrome facebook-graph-api fbconnect

这是一个奇怪的问题:我使用FB_graph从cookie中获取auth用户:通常使用FB:

window.fbAsyncInit = function() {
 FB.init({
  appId      :  <%=@appid%>, // App ID

  status     : true, // check login status
  cookie     : true, // enable cookies to allow the server to access the session
  oauth      : true, // enable OAuth 2.0
  xfbml      : true  // parse XFBML
});

然后我在每个页面的控制器上选择用户:

config = YAML.load_file("./config/facebook.yml")[Rails.env]
   appid = config['client_id']
   secret = config['client_secret']
   auth =FbGraph::Auth.new(appid, secret)
   auth.from_cookie(cookies)
  • 所有浏览器在localhost:3000上工作得很好,我的用户没问题
  • 只有chrom,safari和firefox在实际点击Facebook.com时有效; IE8和Opera失败。

我怀疑IE和Opera有一些限制。有什么想法吗?


1 个答案:

答案 0 :(得分:0)

IE不会在iframe下保存Cookie。 Facebook在iframe中运行您的应用。即使我把“魔法酱”放在标题中,它也会被击中或者错过。

讨论:

Cookie blocked/not saved in IFRAME in Internet Explorer