рельсы 3,2 omniauth ssl windows - PullRequest
       22

рельсы 3,2 omniauth ssl windows

0 голосов
/ 26 марта 2012

Извините, если на этот вопрос уже был дан ответ, но я просматриваю сообщения здесь и не могу найти что-то, что работает.

У меня Devise работает с рельсами для аутентификации, и я пытаюсь интегрировать OmniAuth для Facebook. Я получаю ошибку SSL, которая была опубликована в прошлом.

Моя ошибка:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

Я прошел через решения для окон, и, похоже, ни одно из них не работает. Я просто пытаюсь заставить это работать в dev на машине с Windows, поэтому я хочу использовать небезопасные ярлыки, чтобы запустить его и запустить, а потом выяснить, что необходимо для производства.

Я использую:

rails 3.2.2
warden 1.1.1
devise 2.0.4
faraday 0.7.6
oauth2 0.5.2
omniauth 1.0.3
omniauth-oauth2 1.0.0
omniauth-facebook 1.2.0

Я попробовал несколько разных вещей в omniauth.rb:

omniauth.rb:

    Rails.application.config.middleware.use OmniAuth::Builder do
    provider :facebook, APP_ID, APP_SECRET, {client_options: {ssl: {ca_file: Rails.root.join('lib/assets/cacert.pem').to_s}}}
    #provider :facebook, APP_ID, APP_SECRET, {:client_options => {:ssl => {:verify => false}}}
    end

Второй вариант (с комментариями) должен полностью подавить проверку ssl-сертификата, насколько я понимаю. Но это не работает - та же ошибка. При первом варианте я скачал соответствующий файл и поместил его в каталог lib / assets, но, похоже, он тоже не работает.

Что-то изменилось в последнее время с этим? Я что-то упускаю из виду?

Ответы [ 2 ]

0 голосов
/ 03 апреля 2012

Попробуйте следовать инструкциям, приведенным в этой ссылке: http://jimneath.org/2011/10/19/ruby-ssl-certificate-verify-failed.html

И вам нужно внести небольшое изменение в fix_ssl.rb в конце:

self.ca_file = Rails.root.join('lib/ca-bundle.crt').to_s

Надеюсь, это поможет.

0 голосов
/ 27 марта 2012

Похоже, способ сделать это здесь: https://gist.github.com/867550

...