【问题标题】:Rails 3 — Omniauth routing error, works on local but not on my serverRails 3 — Omniauth 路由错误,适用于本地但不适用于我的服务器
【发布时间】:2011-02-10 07:20:39
【问题描述】:

我正在尝试使用 Omniauth 来允许用户使用 Facebook 登录到我的 Rails 应用程序。在本地,omniauth 使用以下链接自动将浏览器重定向到 Facebook 进行身份验证:

<%= link_to "Sign in with Facebook", "/auth/facebook" %>

它按预期重定向回来(没有回调错误),然后我就可以注销了。

当我尝试将我的应用程序上传到我的服务器时会出现此问题。出于某种原因,Omniauth 没有启动,也没有进行重定向。相反,它只是将浏览器指向我的应用程序(http://sharedchecklist.com/auth/facebook)中不存在的目录并吐出此错误:

Routing Error

No route matches "/auth/facebook"

在过去的几个小时里,我进行了大量搜索,试图找出问题所在。我已确保将站点和画布 URL 更改为我的应用程序地址。回调不是问题。

这几乎就像omniauth不存在......

以前有人遇到过这个问题吗?我对 Rails 还很陌生,但我已经能够解决之前的任何问题,这让这一切变得最令人沮丧。

如果网址有帮助,这里是:http://sharedchecklist.com/

感谢您提供的任何帮助。

【问题讨论】:

    标签: ruby-on-rails facebook routing omniauth


    【解决方案1】:

    您需要告诉 Facebook 重定向到哪里。如果它在开发中有效,您可能会将您的站点 url 设置为“http://localhost:3000”。将其更改为“http://sharedchecklist.com”,它将起作用。当然,它会在开发中中断。因此,我为我的测试创建了一个新的“测试”Facebook 应用程序,它总是重定向到本地主机。

    【讨论】:

    • 感谢 Jason 和 Radu 的回答。我能够解决这个问题。原来这是我的服务器有问题(它显示 gem 已安装但实际上没有?)。无论如何问题已经解决了。
    【解决方案2】:

    如果缺少 config/initializers/omniauth.rb,这似乎会发生。

    我在忽略列表中有该文件,并有一个示例文件作为omniauth.rb.sample。我忘了创建omniauth.rb 文件,我得到了同样的错误。

    【讨论】:

      【解决方案3】:

      如果您想在本地主机上进行测试并保持生产环境正常工作:

      1- 仅为开发目的创建新的 Facebook 应用

      2- 将站点 URL 字段设置为:http://localhost:3000/

      3- 然后编辑您的 /config/initializers/omniauth.rb 文件以匹配以下内容:

      OmniAuth.config.logger = Rails.logger
      
      Rails.application.config.middleware.use OmniAuth::Builder do
        if Rails.env.development?
          OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
          provider :facebook, 'DEV_APP_ID', 'DEV_APP_SEVRET'
        else
          provider :facebook, 'DEPLOY_APP_ID', 'DEPLOY_APP_SECRET'
        end
      end
      

      最后重新启动rails server,你应该可以通过你的新应用登录了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-24
        • 1970-01-01
        • 2022-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多