Проблемы с OpenSSL при использовании oAuth2 gem и facebook - PullRequest
0 голосов
/ 13 июля 2011

Итак, я обновил приложение с rails 2.2 до 2.3.12, и моей последней оставшейся проблемой является проблема интеграции Facebook Connect.

Я использую для этого гем oauth2, и я продолжаю получать следующую ошибку

OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed):

Я пытался следовать описаниям на вики-странице oauth2 только для того, чтобы получить анохтерошибка, которая была решена путем разветвления проекта и адаптации кода. читайте здесь .

У меня нет проблемы на моем сервере разработки, но только в рабочей среде.

мой код клиента выглядит следующим образом

def client  
  ca_file = File.join('/etc/ssl/cacert.pem')  
  @client ||= OAuth2::Client.new( 'app_id', 'app_secret', {  
    :site => {  
      :url=>'https://graph.facebook.com',  
      :ssl=>{  
        :verify => OpenSSL::SSL::VERIFY_PEER,  
        :ca_file => ca_file  
      }  
    },  
    :adapter => :NetHttp  
  })  
  @client  
end  

Я уже сто раз подтверждал, что мой файл cacert.pem находится там и что права в порядке.

Любые идеи о том, с чего начать отладку, приветствуются.

1 Ответ

1 голос
/ 22 сентября 2011

решаемые

Я переместил этот сайт на новый сервер с Debian 6.0 (sqeeze) вместо 5.0 (etch), и это решило мою проблему. Я считаю, что я получил более новую версию OpenSSL:

Debian 6.0: OpenSSL 0.9.8o 01 июня 2010 г.
Debian 5.0: OpenSSL 0.9.8g 19 октября 2007 г.

Я не могу гарантировать, что это была проблема, но теперь она работает без изменений кода. Я предполагаю, что это так.

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