我最近一直面临这个问题。我在浏览器中收到此错误。
在我的 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