ruby-on-rails - 如果在没有 www 前缀的情况下访问域,Facebook 登录将返回错误消息

标签 ruby-on-rails facebook devise omniauth

我的网站上有 OmniAuthable Facebook 登录。用户登录:

link_to user_omniauth_authorize_path(:facebook)

它在 developers.facebook.com 的应用程序配置中定义。

如果我通过 www.example.com 访问该网站,一切正常,我可以登录。

如果我在没有“www”子域(即 example.com)的情况下访问它,我会收到以下响应:

{
   "error": {
      "message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration.",
      "type": "OAuthException"
   }
}

有人知道我该如何解决这个问题吗?

最佳答案

解决方案:不要那样做。你最终会遇到各种各样的问题(参见 this page )。选择使用 www.example.comexample.com 并通过从不允许的版本重定向到所需的版本来在您的应用程序中强制执行它。 FWIW,Google 选择使用 www 因为它与他们的体系结构更兼容(实际上,它更灵活)。另一方面,StackOverflow 选择不使用它(它在规范上更准确)。无论哪种方式,选择一个并坚持下去。

关于ruby-on-rails - 如果在没有 www 前缀的情况下访问域,Facebook 登录将返回错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8042748/

相关文章:

javascript - Facebook JS SDK 不需要 app secret 来验证 : How secure is it?

ruby-on-rails-3 - cancan Skip_authorization_check 用于设计身份验证

ruby-on-rails - 为什么我的 Heroku 应用程序不使用 Sendgrid 发送电子邮件?

javascript - 模式弹出窗口中的 Bootstrap 表内容

ruby-on-rails - 在 ruby​​ on rails 中自动设置语言环境

android - RequestBatch.Callback onBatchCompleted() 未调用

iphone - 使用 Sharekit 与 facebook 共享时出现应用程序响应错误

ruby-on-rails - Rails + 设计 : How to override redirect for the before_filter "authenticate_user!"

ruby-on-rails - 有什么好的 ruby​​/rails twitter 帐户可以关注吗?

ruby-on-rails - 捆绑控制台因未初始化常量 Rails 而失败