2011-07-06 28 views
3

我面临着同样的问题,因为这里所描述 - OmniAuth & Facebook: certificate verify failedSSL证书问题 - Windows机器

最投票回答提示添加以下到您的Omniauth初始化:

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

但是他提到“/ etc/ssl/certs”是ubuntu的CA_PATH。 窗口的相关CA_PATH是什么?

如果我的机器上没有证书,我该如何安装证书文件?

回答

13

这是我如何解决这个问题 -

我下载了这个文件 - http://certifie.com/ca-bundle/ca-bundle.crt.txt,并把我的应用程序/ config文件夹。

我重命名的文件为CA-bundle.crt

我更新了我的omniauth初始化到relfect以下 -

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :facebook, FACEBOOK_KEY, FACEBOOK_SECRET, :client_options => { :ssl => { :ca_file => "#{Rails.root}/config/ca-bundle.crt" } } 
end 

和它的工作。

+0

你知道吗,如果这仍然有效。我得到这个问题,但这个修复程序不适合我 – Steve

+0

它的工作原理!感谢您的解决方案。我找到了另一个解决方案,但这并没有奏效,但有很多人对这个答案投了赞成票。 – BC2

+0

我在我的开发环境(localhost Windows)中收到以下消息:“应用程序配置不允许给定URL:应用程序的设置不允许使用一个或多个给定的URL,它必须与网站URL或Canvas URL匹配,或者该域名必须是其中一个域名的子域名。“有任何想法吗? – MatheusJardimB