Недавно я столкнулся с этой проблемой. Я получаю эту ошибку в своем браузере.
В моем cygwin он продолжает перенаправлять меня и в конечном итоге показывает
ERROR -- omniauth: (facebook) Authentication failure! csrf_detected:
OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detected
E, [2015-04-16T11:21:15.660929 #10056] ERROR -- omniauth: (facebook)
Authentication failure! invalid_credentials:
OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF detecte
Я пробовал различные предложенные методы, но не смог решить свою проблему.
После некоторого тестирования я решил, что это проблема с конфигурацией, но до сих пор не знаю, как ее исправить. Похоже, WardenOmniAuth не смог получить обратный вызов от facebook, который продолжает зацикливаться и перенаправляться, пока временной спам не уничтожит его.
Вот моя кодировка в моем app.rb
failure = lambda{|e| Rack::Resposne.new("Can't login", 401).finish }
use Rack::Session::Cookie
use Warden::Manager do |config|
config.failure_app = failure
config.default_strategies :omni_facebook
end
use OmniAuth::Strategies::Facebook, ENV["APP_ID"], ENV["APP_SECRET"]
use WardenOmniAuth do |config|
config.redirect_after_callback = "/home"
end