使用oAuth2 gem和facebook的OpenSSL问题

时间:2011-07-13 10:21:17

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

所以我将应用程序从rails 2.2升级到2.3.12,我最后一个问题是facebook connect integration的问题。

我正在使用oauth2 gem,以及我一直收到以下错误

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

我试图按照oauth2 wiki页面上的描述来结束anohter错误,这是通过分叉项目和调整代码来解决的。 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文件就在那里 权利还可以。

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

1 个答案:

答案 0 :(得分:1)

<强>解决

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

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

我不能保证这是问题所在,但因为它现在没有代码更改。我认为是。