У меня была та же проблема, и я решил эту проблему, отключив мой брандмауэр (ESET).
Первым шагом для решения этой проблемы должно быть попытка выполнить проверку вашего собственного компьютера с другого компьютера. Если у вас включен брандмауэр, возможно, вы не сможете выполнить ping. Я попробовал pinging мой собственный компьютер, тогда ping был неудачен (не получил ответ от сервера)
Вы должны явно передать параметр в функцию provider
. Поэтому, пожалуйста, попробуйте следующий фрагмент.
provider :github, ENV['GITHUB_KEY'], ENV['GITHUB_SECRET'], allow_signup: 'true', scope: 'user,repo,gist'
Вот как я заставил его работать:
# config/initializers/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
provider :github,
ENV['GITHUB_KEY'],
ENV['GITHUB_SECRET'],
{
client_options: {
authorize_url: 'https://github.com/login/oauth/authorize?allow_signup=false'
}
}
end
Очевидно, он также работает с Devise, заменив provider
на config.omniauth
и поместив его в config/initializers/devise.rb
вместо этого.