У меня есть веб-сайт rails (reccr.com), который использует omniauth для аутентификации пользователей с несколькими различными опциями, включая Facebook и Twitter (с использованием OAuth) и несколько других (с использованием OpenID).Однако в последнее время (я думаю, в течение последней недели или около того) попытка аутентификации через Twitter выдает ошибку
OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed)
, но ТОЛЬКО Twitter делает это;любой другой сервис аутентифицируется просто отлично.Я искал в Интернете решение, но все, что я могу найти в этой ошибке, относится к ситуациям, когда это происходит со ВСЕМИ поставщиками аутентификации, и ничего, что я могу найти, не относится к ситуациям, когда это происходит только с одним конкретным поставщиком.
Насколько я знаю (и я являюсь единственным разработчиком), ничего не изменилось в отношении сайта, который мог бы предсказать это, и я думаю, что любое изменение сайта, которое может вызвать эту проблему с Twitter, также приведет к тому жепроблема с аутентификацией Facebook OAuth.
Есть идеи, как мне это исправить?Сначала я надеялся, что проблема была в конце Твиттера, и что они исправят ее через пару дней, но прошло около недели, и это все еще продолжается, и я не видел каких-либо других специфичных для Твиттера жалоб на эту ошибку.поэтому я начинаю подозревать, что это все-таки я.
РЕДАКТИРОВАТЬ: ОК, после обнаружения ЭТОГО и ЭТОГО , я на полпути.Я пытаюсь реализовать решение, в котором я добавляю :client_options => {:ca_file => '#{Rails.root}/config/ca-bundle.crt'}
в конец строки в своем omniauth.rb, где я объявляю Twitter одним из моих провайдеров.Однако, когда я делаю это, я получаю ошибку wrong number of arguments (4 for 3)
в lib/rack/builder.rb:54:in
initialize'`.Есть идеи как починить что ?