Omniauth: callback not firing, returns failure wit

2019-01-09 18:44发布

The facebook authentication in my Rails application, implemented with the Omniauth gem has stopped working recently.

The problem is that the controller action, that should be used by the callback is not getting fired, and the process immediately skips to failure with "invalid credentials" message.

log:

Started GET "/auth/facebook" for ::ffff:127.0.0.1 at 2017-03-29 11:12:29 +0200
Started GET "/auth/facebook/callback?code=<<code>>&state=<<state>" for ::ffff:127.0.0.1 at 2017-03-29 11:12:30 +0200
Started GET "/auth/failure?message=invalid_credentials&origin=<<origin>>&strategy=facebook" for ::ffff:127.0.0.1 at 2017-03-29 11:12:31 +0200
Started GET "/login" for ::ffff:127.0.0.1 at 2017-03-29 11:12:31 +0200
Processing by UserSessionsController#new as HTML

routes:

  match "/auth/failure" => redirect("/login"), :via => [:get, :post]
  match '/auth/:provider/callback' => 'user_sessions#create_omniauth', :via => [:get, :post]
  match '/auth/:provider/disconnect' => 'user_sessions#destroy_omniauth', :as => :destroy_auth, :via => :delete

Any ideas what could be wrong?

Edit: I had the same problem with Google authorization.

1条回答
太酷不给撩
2楼-- · 2019-01-09 19:27

Updating gems to their newest versions (omniauth 1.6.1 and omniauth-facebook 4.0.0) with:

bundle update omniauth
bundle update omniauth-facebook

solved the issue. I am leaving this for future reference.

Edit:

Same thing worked for google authorization:

bundle update omniauth-google-oauth2
查看更多
登录 后发表回答