Rails:为OmniAuth设置Facebook站点URL和应用程序域

时间:2012-11-19 08:28:19

标签: ruby-on-rails dns omniauth

在Facebook上使用Rails OmniAuth,我需要解决一个非常微妙的问题。 我的应用程序在Heroku上,其默认域名为myapp.herokuapp.com(假设)。我的个人域名为hello.com,每当用户访问hello.com时,他都会被“转发”到myapp.herokuapp.com。

在Facebook开发中心,有App Domains字段和Site URL字段。我以为我必须将myapp.herokuapp.com放入Site URL,将hello.com放入App Domains,但它没有让我。

"hello.com" must be derived from one of: Site URL, Mobile Site URL, Canvas URL, Secure Canvas URL, Page Tab URL or Secure Page Tab URL.

所以我把App域留空了。

除了一件事,一切似乎都很好。当我通过myapp.herokuapp.com访问我的网站时,OmniAuth工作正常。但是当我通过hello.com时,有一个小问题。 当我没有登录Facebook时,它不会将我重定向到Facebook登录页面。所以当我点击登录按钮时,它会加载几秒但没有任何反应(因为它是应该把我重定向到facebook网站首先登录那里,但事实并非如此)但是,当我已经登录Facebook时,它运行正常。

我不确定问题是什么。我的猜测:

  1. 我正在设置App Domains&网站网址错误。
  2. 我还没有设置DNS。 Heroku告诉我,我必须将DNS设置为指向我的域名,但我不确定这意味着什么,因为我从未处理过这个问题。现在,我的个人域名hello.com只是转发到myapp.herokuapp.com。这是导致问题的原因吗?
  3. 感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

问题是我没有设置DNS,只是将我的herokuapp网址转发到我的自定义域名。如果您遇到类似问题,则应设置DNS,而不是“转发”。