2011-07-06 31 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