2


我的应用程序使用OAuth2 gem(0.1.1)连接到Facebook,并使用ActiveMerchant gem(1.12.0)连接到PayPal。在什么是当前轨道/红宝石分布(3.0.5,1.9.2),在使用时这两种宝石引发以下的OpenSSL :: SSL :: SSLError:SSL依赖gems的问题OAuth2&ActiveMerchant

  • 所以SSL_connect返回= 1个错误号= 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'always_verify_ssl_certificates'需要ApplicationController文件中的'always_verify_ssl_certificates'。但是,OAuth2(Facebook)和ActiveMerchant(PayPal)都抛出以下TypeError:

  • 错误的参数(NilClass)! (预期 样的OpenSSL :: SSL :: SSLContext中的)

我OAuth2用户的Facebook的代码AuthorizeController和我ActiveMerchant贝宝(PaymentsController的链接,他们站在现在在下面的意见,这是继2010年后的OAuth2由迈克尔Bleigh和2008年科迪Fauser ActiveMerchant教程指导任何帮助是极大的赞赏我很困惑在这一点上

+0

OAuth2 Facebook代码[AuthorizeController](http://pastie.org/1688774)和ActiveMerchant PayPal控制器[PaymentsController](http:// pastie。 org/paste/1688754) – leahy16 2011-03-19 22:06:42

回答

-9

无需经过一番痛苦的谷歌搜索,把以下内容放入ApplicationController修复它。希望这有助于有人! OpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONE

+2

这是一个非常糟糕的解决方案。 OAuth 2完全依赖SSL来提高安全性。这会由于未能检查SSL证书的有效性而降低安全性。说真的,不要这样做,绝对不要把这个推荐给别人。 – 2012-02-22 12:35:51