【问题标题】:rails 3.2 omniauth ssl windowsrails 3.2 omniauth ssl windows
【发布时间】:2012-03-26 03:43:25
【问题描述】:

抱歉,如果这个问题已经得到解答,但我正在浏览这里的帖子,找不到有用的东西。

我已经让 Devise 使用 rails 进行身份验证,并且我正在尝试为 facebook 集成 OmniAuth。我收到了过去发布的 SSL 错误。

我的错误:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

我已经通过 Windows 的解决方案,但似乎没有一个工作。我只是想让它在 Windows 机器上的开发中工作,所以我愿意采取不安全的快捷方式来启动和运行它,然后弄清楚以后在生产中需要什么。

我正在使用:

rails 3.2.2
warden 1.1.1
devise 2.0.4
faraday 0.7.6
oauth2 0.5.2
omniauth 1.0.3
omniauth-oauth2 1.0.0
omniauth-facebook 1.2.0

我在 omniauth.rb 中尝试了几种不同的方法:

omniauth.rb:

    Rails.application.config.middleware.use OmniAuth::Builder do
    provider :facebook, APP_ID, APP_SECRET, {client_options: {ssl: {ca_file: Rails.root.join('lib/assets/cacert.pem').to_s}}}
    #provider :facebook, APP_ID, APP_SECRET, {:client_options => {:ssl => {:verify => false}}}
    end

据我了解,第二个选项(已注释)应该完全禁止 ssl 证书检查。但这不起作用 - 同样的错误。使用第一个选项,我下载了相应的文件并将其放在 lib/assets 目录下,但这似乎也不起作用。

最近有什么变化吗?我错过了什么明显的东西吗?

【问题讨论】:

    标签: ruby-on-rails windows ssl omniauth


    【解决方案1】:

    看起来这样做的方法在这里: https://gist.github.com/867550

    【讨论】:

      【解决方案2】:

      尝试按照此链接中给出的说明进行操作: http://jimneath.org/2011/10/19/ruby-ssl-certificate-verify-failed.html

      最后你必须在fix_ssl.rb 中做这个小改动:

      self.ca_file = Rails.root.join('lib/ca-bundle.crt').to_s
      

      我希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2013-02-14
        • 1970-01-01
        • 2014-12-14
        • 1970-01-01
        • 2012-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多