我建立使用設計/ OmniAuth一個Rails 3應用程序,考拉,我發現了以下SSL錯誤使用考拉與設計及OmniAuth:獲取SSL錯誤在Rails 3應用程序
OpenSSL::SSL::SSLError in Users/omniauth callbacksController#facebook
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
的導致此錯誤代碼是:
@graph = Koala::Facebook::GraphAPI.new(@token)
@friends = @graph.get_connections("me", "friends")
我使用的設計與OmniAuth進行認證,其中工程。然後,我將返回的Facebook令牌,並嘗試與Koala一起使用,如上所示。這是造成這個錯誤的原因。
可能值得注意的是,我最初收到與Devise & OmniAuth相同的錯誤。有關於這個錯誤的幾個主題,我能夠解決這個問題,通過建立我的配置/ initialisers/devise.rb用,
config.omniauth :facebook, APPID, APPKEY, {:client_options => {:ssl => {:ca_file => "/opt/local/share/curl/curl-ca-bundle.crt"}}}
我猜測,我需要提供考拉類似的配置以便它知道在哪裏檢索本地ca_file。儘管如此,我無法在文檔中找到任何指示。任何想法如何做到這一點,或如何避免一般的錯誤?
我的開發環境是OSX。
我放棄了MiniFB(https://github.com/victorcoder/mini_fb)作爲考拉的替代品,到目前爲止,我的運氣更好。它至少會返回數據而不會給出SSL錯誤。 – vansan 2011-05-25 17:55:25