我在用Authlogic-连接 https://github.com/viatropos/authlogic-connect用于第三方登录。运行适当的迁移后,Twitter/Google/yahoo 登录似乎工作正常,但 facebook 登录抛出异常:
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
开发日志显示
OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed):
app/controllers/users_controller.rb:37:in `update'
请建议..
我在尝试使用 Rails 3 的 JQuery 生成器时遇到了类似的问题
我是这样解决的:
-
获取 CURL 证书颁发机构 (CA) 捆绑包。您可以通过以下方式执行此操作:
-
sudo port install curl-ca-bundle
[如果您使用 MacPorts]
- 或者直接拉下来
wget http://curl.haxx.se/ca/cacert.pem
执行尝试验证 SSL 认证的 ruby 代码:SSL_CERT_FILE=/opt/local/etc/certs/cacert.pem rails generate jquery:install
。在您的情况下,您想要将其设置为服务器拾取它的环境变量,或者添加类似的内容ENV['SSL_CERT_FILE'] = /path/to/your/new/cacert.pem
在您的environment.rb 文件中。
您也可以将 CA 文件(我没有尝试过)安装到操作系统 - 有很长的说明here http://gagravarr.org/writing/openssl-certs/others.shtml-- 这应该以类似的方式工作,但我个人还没有尝试过。
基本上,您遇到的问题是某些 Web 服务使用针对 OpenSSL 无法验证的 CA 签名的证书进行响应。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)