1

我创建了一个 FB 应用程序,托管在 Heroku 上。该应用程序是用 Ruby 编写的。

  1. 该应用程序用于在 facebook iframe 中正确加载。
  2. 现在,如果我通过 打开应用程序app.facebook.com/app_namespace,则会显示一个空白屏幕。当我启用异常跟踪时,它现在显示好像图形 koala 对象的 access_token 为 nil。
  3. 如果我打开 Canvas URL,例如“直接”URL,一切正常,但我必须首先通过“/auth/facebook”在 facebook 上调用直接授权。
  4. iframe现在显示koala "Unsupported get method",但是通过调试可以看出从graph获取的access_token是nil。
  5. 生成的测试用户和开发人员用户的行为是相同的。

已经尝试过:

  1. 我尝试通过在线 FB 调试器调试 Canvas URL,Scraper 似乎看到了正确的 HTML。
  2. 尝试重新授权该应用程序,但无济于事。
4

1 回答 1

2

默认情况下,Sinatra使用 rack-protection 来设置X-Frame_Optionsheader。看起来这就是导致您的问题的原因。

您可以在应用程序中使用此行禁用它:

set :protection, :except => :frame_options
于 2013-08-21T13:38:23.050 回答