Ошибка Omniauth недоступна для Twitter

Я использую учетную запись omniauth и twitter для своего сайта. Однако всякий раз, когда я пытаюсь войти в систему, он дал эту ошибку:

Started GET "/auth/failure?message=service_unavailable" for 98.83.218.118 at 2011-11-12 11:27:58 -0500
  Processing by SessionsController#failure as HTML
  Parameters: {"message"=>"service_unavailable"}

Единственный ключ, который у меня есть, заключается в том, что это может быть ошибка SSL .

Однако я не знаю, как отладить причину ошибки.

Вот моя текущая конфигурация для Twitter:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :twitter, 'REDACTED', 'REDACTED'
end
2
Какую версию omniauth вы используете? В последнее время в версии 1.0 произошли некоторые серьезные изменения, и эта информация была бы полезна.
добавлено автор Gazler, источник
Тогда вам также понадобится драгоценный камень omniauth-twitter.
добавлено автор Gazler, источник
Я использую omniauth 1.0 в своем Gemfile.lock.
добавлено автор kiba, источник
У меня тоже есть это.
добавлено автор kiba, источник

2 ответы

Это похоже на проблему ssl в моем проекте.

В режиме разработки вы можете отключить ssl. Тогда вы можете работать без этой проблемы.

добавьте это в develoment.rb:

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

And about how fix SSL certificates: Twitter API SSL Root CA Certificate

2
добавлено
Я загружаю и загружаю cacert.pem, а также ca-bundle.crt.txt. Теперь он дал мне ошибку OAuth :: Unauthorized (401 Unauthorized).
добавлено автор kiba, источник

Мне не очень нравится решение, предлагаемое в поддержке twitter dev (как указано Yahor Zhuchkou), в котором предлагается загрузить только кучу сертификатов с незащищенного сервера.

И пока поворот проверки сверстников будет работать в производстве, что на самом деле не является решением. Что вам нужно сделать, так это указать omniauth на правильный файл PEM, который должен содержать что-то вроде Verisign Root Certificate, который поддерживает собственный сертификат Twitter (i:/C = US/O = VeriSign, Inc./OU=Class 3 Public Основной сертификационный орган - G2/OU = (c) 1998 VeriSign, Inc. - Только для авторизованного использования/OU = VeriSign Trust Network):

-----BEGIN CERTIFICATE-----
MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcEx
CzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UE
CxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv
cml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAt
IEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBU
cnVzdCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVow
gcExCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoG
A1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1
dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5j
LiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2ln
biBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDM
XtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXX
wc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg013gfqLptQ5GV
j0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQABMA0G
CSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01U
bSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i
F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo
1KpYoJ2daZH9
-----END CERTIFICATE-----

(Если вы используете Ubuntu, вы можете найти его здесь: /etc/ssl/certs/Verisign_Class_3_Public_Primary_Certification_Authority _-_ G2.pem )

Не знаю, почему реализация omniauth или ruby ​​openssl не находит этого, но вы можете явно ссылаться на этот файл pem со следующей опцией:

provider :twitter, 'REDACTED', 'REDACTED', {
  :client_options => {:ca_file => '/etc/ssl/certs/Verisign_Class_3_Public_Primary_Certification_Authority_-_G2.pem'}
}
1
добавлено
pro.ruby
pro.ruby
1 181 участник(ов)

Язык программирования Ruby Additional docs: https://rubyreferences.github.io/rubyref/ Invite: https://telegram.me/joinchat/Be4rsT2NuB3CyJaF26j1kA Кто хочет компилировать: @crystal_ru (его синтаксис основан на Ruby) Участник @proDOT

Ruby, Rails, Hanami | dry-rb
Ruby, Rails, Hanami | dry-rb
1 180 участник(ов)

https://telegram.me/rubyjob - Ruby Job По вопросам - @eugene_shved

Ruby School .us
Ruby School .us
1 045 участник(ов)

Чат-болталка для учеников руби-школы и не только. Правила: https://telegra.ph/Pravila-chata-Rubi-shkoly-03-13

Random Ruby Chat
Random Ruby Chat
589 участник(ов)

Правила публикации вакансий: https://t.me/codenamecrud/60865

Rubyata
Rubyata
333 участник(ов)

Коммюнити Ruby и Ruby On Rails Флуд не приветствуются. Вакансии можно публиковать только и ТОЛЬКО по пятницам с хештегом #вакансия.

Ruby Talks
Ruby Talks
236 участник(ов)

Национальная Флеймотека

RubyRush
RubyRush
189 участник(ов)

rubyrush.ru программирование для самых новичков

Rails Chat
Rails Chat
87 участник(ов)

You are welcome to discuss Ruby On Rails development process and other stuff