【发布时间】: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