Ruby on rails rails 3 omniauth SSL错误

Ruby on rails rails 3 omniauth SSL错误,ruby-on-rails,ruby-on-rails-3,ssl,authlogic,omniauth,Ruby On Rails,Ruby On Rails 3,Ssl,Authlogic,Omniauth,我正在尝试与AuthLogic一起为Facebook实现OmniAuth。我当前遇到以下错误: SSL_connect返回=1 errno=0 state=SSLv3读取服务器证书B:证书验证失败 我已经尝试了这里显示的解决方案:没有成功。尝试启动服务器时出现错误(未定义的局部变量或“config”方法)。我在windows计算机上,已下载cacert.pem文件并将其放置在/config/文件夹中 以下是我在/initializers/omniauth.rb文件中的代码: Rails.appl

我正在尝试与AuthLogic一起为Facebook实现OmniAuth。我当前遇到以下错误:

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

我已经尝试了这里显示的解决方案:没有成功。尝试启动服务器时出现错误(未定义的局部变量或“config”方法)。我在windows计算机上,已下载cacert.pem文件并将其放置在/config/文件夹中

以下是我在/initializers/omniauth.rb文件中的代码:

Rails.application.config.middleware.use OmniAuth::Builder do

require "omniauth-facebook"

if RbConfig::CONFIG["host_os"] =~ /mingw|mswin/
ca_file = File.expand_path Rails.root.join("config", "cacert.pem")

ssl_options = {}
ssl_options[:ca_path] = '/etc/ssl/certs' if Rails.env.staging?
ssl_options[:ca_file] = ca_file

config.omniauth :facebook, "MYAPPID", "MYAPPSECRET", # "APP_ID", "APP_SECRET" your   got from facebook app registration
    :client_options => {:ssl => ssl_options}
else
config.omniauth :facebook, "MYAPPID", "MYAPPSECRET"
end

end
我也看到过引用ca-certificate.crt而不是cacert.pem的帖子,它在寻找哪一个?我有点不知道下一步该做什么,所以非常感谢您的帮助

此处出现的(未定义的局部变量或方法'config')错误是因为文件中未定义'config'变量。你从中提取它的帖子是配置Desive,它
designe.setup do | config |。。。结束
块,以便可以在那里使用变量config

去掉config变量,使其类似于

Rails.application.config.middleware.use OmniAuth::Builder do


if RbConfig::CONFIG["host_os"] =~ /mingw|mswin/
  ca_file = File.expand_path Rails.root.join("config", "cacert.pem")

  ssl_options = {}
  ssl_options[:ca_path] = '/etc/ssl/certs' if Rails.env.staging?
  ssl_options[:ca_file] = ca_file

  provider :facebook, "MYAPPID", "MYAPPSECRET", # "APP_ID", "APP_SECRET" your   got from facebook app registration
    :client_options => {:ssl => ssl_options}
else
  provider :facebook, "MYAPPID", "MYAPPSECRET"
end

end

Rails.application.config.middleware.use OmniAuth::Builder do 提供者:facebook,facebook密钥,facebook密钥,{:client\u options=>{:ssl=>{:ca\u path=>“/etc/ssl/certs”} 结束

这不是标准方法,但它可以通过禁用ssl验证来帮助您进行开发设置

如果Rails.env.development? OpenSSL::SSL::VERIFY\u PEER=OpenSSL::SSL::VERIFY\u NONE 结束