如何正确设置Rails应用程序的Facebook App页面?

时间:2014-03-28 20:25:11

标签: ruby-on-rails capybara phantomjs facebook-login poltergeist

我有一个非常普遍的问题(它很常见,必须有一个标签):

  

应用程序配置不允许使用URL:应用程序的设置不允许使用一个或多个给定的URL。它必须与网站URL或Canvas URL匹配,或者域必须是App域之一的子域。

这种情况发生在以下情况 - 我写了rspec / capybara规范。其中一些规范测试某些链接是否正确重定向。问题中的链接是myapp的子域:http://support.myapp.com。 (我正在使用Uservoice服务,但我不认为这是相关的。)

所以我有以下配置:

  • 生产应用程序正在https://myapp.com
  • 运行
  • 我在http://localhost:3000/
  • 上本地运行了我的应用
  • 我以这种方式设置了我的测试端口:Capybara.server_port = 42082

我遇到问题的其中一个测试就是这个:

scenario 'is redirected to feedback page in a new tab after clicking on feedback button' do
  within('.menu-wrapper') { click_on I18n.t('shared.header.help') }
  new_tab = page.driver.window_handles.last
  page.within_window(new_tab) do
    expect(current_url).to eq 'http://support.myapp.com/'
  end
end

测试通过,但在控制台中我得到了开头提到的消息。在我的Facebook应用程序页面上,据我所知,我读过的许多SO中,与我的问题相关的字段是(我也提供了他们当前的状态):

在“设置/基本”标签下:

  • 应用领域 - 空白。我试图将localhost放在这里,但它抱怨这是一个顶级域名。所以我尝试了其他几个版本,例如localhost.commyapp.com。当我这样做时,我将我的主机文件编辑为127.0.0.1 localhost.com
  • 画布网址 - http://localhost:3000/?origin=facebook&utm_campaign=fb&utm_source=fb
  • 安全画布网址 - https://localhost:3000/?origin=facebook&utm_campaign=fb&utm_source=fb
  • 网站网址 - 我根本没有此字段。对于各种测试,我通过点击“+添加平台”=>“启用”它。网站

在“设置/高级”标签下:

  • 有效的OAuth重定向URI - 空白

所以我尝试了几个这些字段的组合,因为我一整天都在解决这个问题。我得出的一些结论是:

  • 在测试期间导致问题的网址是http://localhost:42082http://support.myapp.com。不幸的是,错误消息并没有告诉我这两个中的哪一个导致了这个问题。
  • 我使用以下值尝试使用localhost:42082,但这不起作用:
    • 应用领域:localhost.com - 我也编辑了我的主机文件,如上所述;
    • Canvas URL / Secure Canvas URL - 将端口从3000更改为42082
    • 网站网址:http://localhost.com:42082/
    • 有效的OAuth重定向URI - http://localhost:42082/
  • 我怀疑问题实际上来自http://support.myapp.com/这不仅是一个支持页面,也是一个反馈页面。可以选择投票购买新的应用功能。如果我之前没有在本地登录我的应用程序而访问该链接,并且我点击投票按钮,我会得到一个这样的字段:

Uservoice voting

当我以前登录时,我可以直接投票,所以我猜访问http://support.myapp.com会触发一些Facebook回调。

我应该在Facebook App页面中使用哪些值来获取给定的URL消息?您还有其他疑难解答的想法吗?

0 个答案:

没有答案