Ошибка SSL на Heroku при использовании OAuth - PullRequest
0 голосов
/ 15 ноября 2011

Я использую гем OAuth для двухсторонней проверки oauth, но когда я пытаюсь использовать токен доступа, я получаю следующую ошибку:

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
/usr/ruby1.9.2/lib/ruby/1.9.1/net/http.rb:678:in `connect'
/usr/ruby1.9.2/lib/ruby/1.9.1/net/http.rb:678:in `block in connect'
/usr/ruby1.9.2/lib/ruby/1.9.1/timeout.rb:44:in `timeout'
/usr/ruby1.9.2/lib/ruby/1.9.1/timeout.rb:87:in `timeout'

Вот код:

uri = construct_uri
consumer = OAuth::Consumer.new("key",
                                 "secret",
                                 :site => "remote site",
                                 :request_token_path => "",
                                 :authorize_path => "",
                                 :access_token_path => "",
                                 :http_method => :get,
                                 :scheme => "query_string"
                                )
access_token = OAuth::AccessToken.new consumer
response = access_token.request(:get, uri)

Ошибка возникает в последней строке. Этот код работал в течение нескольких месяцев и, казалось, сломался за одну ночь. Также, что странно, этот код работает, когда я выполняю его в локальной консоли rails. Из того, что я прочитал, я думаю, что это связано с тем, что гем OAuth не может найти путь к файлу для моих сертификатов, хотя я не уверен, с чего начать отладку этого на heroku. На героку мы используем SNI SSL.


Здесь подробно описан обходной путь: https://github.com/intridea/omniauth/issues/404

Поместите OpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONE в инициализатор. По-видимому, это ошибка с гемом OAuth, которая с тех пор была исправлена.

1 Ответ

0 голосов
/ 15 ноября 2011

Здесь есть подробное решение: https://github.com/intridea/omniauth/issues/404

Поместите OpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONE в инициализаторе.По-видимому, это ошибка с гемом OAuth, которая с тех пор была исправлена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...