【问题标题】:OpenSSL problems using oAuth2 gem and facebook使用 oAuth2 gem 和 facebook 的 OpenSSL 问题
【发布时间】:2011-10-04 09:06:08
【问题描述】:

所以我已经将应用程序从 rails 2.2 升级到 2.3.12,我剩下的最后一个问题是 facebook 连接集成的问题。

我为此使用了 oauth2 gem,但是我不断收到以下错误

OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed):

我尝试按照 oauth2 wiki 页面上的说明进行操作,但最终遇到了另一个错误,该错误已通过分叉项目和调整代码来解决。 read here.

我的开发服务器上没有问题,但只有生产中。

我的客户端代码如下

def client  
  ca_file = File.join('/etc/ssl/cacert.pem')  
  @client ||= OAuth2::Client.new( 'app_id', 'app_secret', {  
    :site => {  
      :url=>'https://graph.facebook.com',  
      :ssl=>{  
        :verify => OpenSSL::SSL::VERIFY_PEER,  
        :ca_file => ca_file  
      }  
    },  
    :adapter => :NetHttp  
  })  
  @client  
end  

现在我已经确认了大约一百次我的 cacert.pem 文件在那里并且 权利还可以。

欢迎任何关于从哪里开始调试的想法。

【问题讨论】:

  • ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION' 在您的开发服务器上打印什么以及在生产中显示什么?
  • @emboss 开发 OpenSSL 0.9.8l 2009 年 11 月 5 日 生产 OpenSSL 0.9.8g 2007 年 10 月 19 日

标签: ruby-on-rails ruby facebook ssl oauth-2.0


【解决方案1】:

已解决

我将此站点移至运行 Debian 6.0 (sqeeze) 而不是 5.0 (etch) 的新服务器上,这解决了我的问题。我对此的看法是我得到了更新版本的 OpenSSL:

Debian 6.0:OpenSSL 0.9.8o 2010 年 6 月 1 日
Debian 5.0:OpenSSL 0.9.8g 2007 年 10 月 19 日

我不能保证这是问题所在,但因为它现在可以在没有代码更改的情况下工作。我想是的。

【讨论】:

    猜你喜欢
    • 2015-06-16
    • 2011-07-18
    • 1970-01-01
    • 2014-04-14
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    相关资源
    最近更新 更多