使用Omniauth的OpenSSL错误,指定ssl路径但不起作用

时间:2011-07-20 02:49:36

标签: ruby-on-rails openssl omniauth

当我的网站获得/ auth / twitter时,我得到了这个:

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

我修改了twitter的omniauth配置:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :twitter, 'BLANKED', 'BLANKED',  {:client_options => {:ssl => {:ca_path => "/etc/ssl/certs/"}}}
end

没有骰子。

检查路径/ etc / ssl / certs /并且它尽可能地存在。

我使用的是omniauth 0.2.6和faraday 0.6.1。

3 个答案:

答案 0 :(得分:2)

将以下行添加到文件config / initializers / omniauth.rb有帮助!

    OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

但是此配置不会验证您的SSL证书。很久以前我为我的一个应用程序做了这个没有SSL的应用程序,所以要小心! 不要在生产中这样做。

答案 1 :(得分:0)

你不是唯一有这个问题的人。对于最新版本的omniauth和faraday来说,这似乎是个已知问题。检查github上的问题是否保持最新:https://github.com/intridea/omniauth/issues/404

答案 2 :(得分:0)