SSL依赖宝石的问题OAuth2& ActiveMerchant

时间:2011-03-19 06:45:07

标签: ruby-on-rails oauth paypal facebook-graph-api activemerchant


我的应用程序使用OAuth2 gem(0.1.1)连接到Facebook,并使用ActiveMerchant gem(1.12.0)连接到PayPal。在当前的Rails / Ruby发行版(3.0.5,1.9.2)下,这两个gem在使用时抛出以下OpenSSL :: SSL :: SSLError:

  • SSL_connect返回= 1 errno = 0 state = SSLv3读取服务器证书 B:证书验证失败

我做了一些挖掘,发现了两个补丁。第一个涉及将其作为“faraday.rb”(http://bit.ly/hZqNwQ)插入我的初始化文件夹。 OAuth2(Facebook)方面的事情确实与此补丁一起使用。但是,ActiveMerchant(PayPal)代码仍然会抛出相同的SSL_connect错误。

我尝试过的第二个补丁(失败)是'always_verify_ssl_certificates'宝石(http://bit.ly/dXmuUh)。我做了以下事情:(1)Gemfile(2)中的gem'lell_verify_ssl_certificates'在ApplicationController文件中需要'always_verify_ssl_certificates'。但是,OAuth2(Facebook)和ActiveMerchant(PayPal)都会抛出以下TypeError:

  • 错误的论点(NilClass)! (预期 一种OpenSSL :: SSL :: SSLContext)

指向我的OAuth2 Facebook代码AuthorizeController和我的ActiveMerchant PayPal(现在支付的PaymentsController)的链接在下面的评论中。这是在遵循Michael Bleigh的2010 OAuth2指南和2008 Cody Fauser ActiveMerchant教程之后。任何帮助都很大谢谢!我现在很困惑。

2 个答案:

答案 0 :(得分:0)

您是否尝试过更简单的补丁到法拉第:Simple Faraday Patch

答案 1 :(得分:-9)

没有必要。经过一些痛苦的谷歌搜索后,将以下内容放入ApplicationController修复它。希望这有助于某人! OpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONE