Omniauth 和 Devise 开始突然失败,今天早上,当使用 Facebook 进行身份验证时?

Omniauth and Devise started to fail out of the blue, this morning, when authenticating with Facebook?

一切都很好然后:

I, [2017-03-28T02:54:18.998055 #663]  INFO -- : Completed 200 OK in 39ms (Views: 14.3ms | ActiveRecord: 8.5ms)
I, [2017-03-28T02:54:26.225944 #663]  INFO -- : Started GET "/users/auth/facebook" for 176.109.217.212 at 2017-03-28 02:54:26 -0400
I, [2017-03-28T02:54:26.411915 #663]  INFO -- : Started GET "/users/auth/facebook/callback?code=CODE and STATE" for 176.109.217.212 at 2017-03-28 02:54:26 -0400
I, [2017-03-28T02:54:26.566419 #663]  INFO -- : Processing by Users::OmniauthCallbacksController#failure as HTML
I, [2017-03-28T02:54:26.566667 #663]  INFO -- :   Parameters: {"code"=>"CODE", "state"=>"STATE"}
I, [2017-03-28T02:54:26.567608 #663]  INFO -- : Redirected to https://example.com/users/sign_in

所有 Facebook 登录似乎都已关闭,但错误很难发现。我向我的用户显示登录失败 "credentials invalid" 但这不是他们的错。我怎么能告诉他们 facebook 的责任。

Facebook 昨天晚上进行了迁移。您必须使用 omniauth-facebook >= 4.0.0 的版本才能使其再次工作(来源 https://github.com/mkdynamic/omniauth-facebook/issues/278

gem 'omniauth-facebook', '4.0.0' 更新你的 Gemfile,然后 运行 bundle update 一切都会恢复正常。