2

我正在设置一个 Ruby on Rails 应用程序以允许使用 Devise + Omniauth 通过 Facebook 登录。我可以使用 APP ID 和 Token 来解决这个问题。

但是我有一个问题,我不知道如何解决。

我有 1 个 Rails 应用程序实例在Server A我有 2 个域名上运行www.domain-one.comwww.domain-two.com它指向Server A当我在 Facebook 中创建应用程序时www.domain-one.com它工作正常,但是一旦我添加www.domain-two.com到应用程序域,它就会给我并错误“必须派生域来自您的站点 URL”。是否可以允许多个域使用相同的 Facebook APP ID 登录?

如果不是,那么可接受的解决方案是根据域切换设计初始化程序文件中的详细信息,有谁知道如何从设计初始化程序获取域?

希望你明白我的意思。

托尼

4

1 回答 1

0

您可以指定多个子域,但它们只能属于一个域。这是因为它必须将网站中的 URL 与 Facebook 登录 > 站点 URL 匹配。

在这种情况下,您可以将一个域名作为指向服务器 A 的主域,将另一个作为辅助域重定向到第一个域。然后在 facebook 应用程序中使用第二个域作为站点 url。

遵循此策略还有另一个好处,您的网站 SEO 将得到改善。如果搜索引擎从不同的域中找到一个内容,那么它会降低内容的排名,来自唯一地址的唯一内容会增加排名。

于 2013-05-03T08:59:10.177 回答