2012-01-12 14 views
1

特にOmniAuth for Rails 3でこのエラーについて多くを読んだことがあります。現在、私はそれに固執しているので、いくつか質問があります。SSLエラーRuby on RailsのOmniAuth

this postのコンセンサスは、証明書を正しく参照できないということでした。私の最初の質問はこれです(Windows 7を使用して質問の序文を書いています):

私のハードドライブには、正確に証明書を見つけることができますか?私はRails 3をインストールするためにRailsInstallerを使いましたが、その場所に近い唯一のものは "Git"です。そこにはca-pathファイルの "cert"ディレクトリがあります。しかし、ほとんどの人が持っている参照は "/ etc/certs /"か何か(基本的には相対URL)です。私の質問は、これが参照されている親ディレクトリはどこですか?それは非常に簡単かもしれないが、私は知らない。 C:/ディレクトリのRailsInstallerフォルダですか?あなたのレールのアプリのconfigディレクトリに私の設定で

答えて

1

\初期化子\ http://curl.haxx.se/ca/プットから

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, "APP_ID", "APP_SECRET", # "APP_ID", "APP_SECRET" your got from facebook app registration 
     :client_options => {:ssl => ssl_options} 
else 
    config.omniauth :facebook, "APP_ID", "APP_SECRET" 
end 

ファイルcacert.pemのdevise.rbこの記事へ

感謝:

0

こんにちはヴィヴェック私はWindows 7でこの問題を解決する、 あなたはここから証明書を取得できます。 https://gist.github.com/fnichol/867550

だから、この証明書の場所がなるC:\ RailsInstaller cacert.pemの

\

全画像:設定\初期化子\

OmniAuth.config.logger = Rails.logger 

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :facebook, '4545454545fgdfg','545fg45fdh4f5d4gh5fd4h5fd4h5fd4h', 
    {:scope => '', :client_options => { :ssl => { :ca_file => 'C:\RailsInstaller\cacert.pem'}}} 
end 
omniauth.rb