在Rails中验证Facebook时出现OAuth2错误

时间:2017-04-12 09:11:53

标签: ruby-on-rails facebook oauth-2.0 omniauth omniauth-facebook

在开发模式下,在localhost / auth / facebook的身份验证回调阶段,我遇到以下错误

  

的OAuth2 ::错误   :{“access_token”:“XXX”,“token_type”:“bearer”,“expires_in”:123}

这是错误的位置

enter image description here

这是堆栈跟踪

oauth2 (0.9.4) lib/oauth2/client.rb:140:in `get_token'
oauth2 (0.9.4) lib/oauth2/strategy/auth_code.rb:29:in `get_token'
omniauth-oauth2 (1.1.2) lib/omniauth/strategies/oauth2.rb:93:in `build_access_token'
omniauth-facebook (1.6.0) lib/omniauth/strategies/facebook.rb:145:in `block in build_access_token'
omniauth-facebook (1.6.0) lib/omniauth/strategies/facebook.rb:171:in `with_authorization_code!'
omniauth-facebook (1.6.0) lib/omniauth/strategies/facebook.rb:145:in `build_access_token'
omniauth-oauth2 (1.1.2) lib/omniauth/strategies/oauth2.rb:75:in `callback_phase'
omniauth-facebook (1.6.0) lib/omniauth/strategies/facebook.rb:71:in `callback_phase'
omniauth (1.4.2) lib/omniauth/strategy.rb:227:in `callback_call'
omniauth (1.4.2) lib/omniauth/strategy.rb:184:in `call!'
omniauth (1.4.2) lib/omniauth/strategy.rb:164:in `call'

我正在使用以下宝石版本

  • oauth(0.5.1)
  • oauth2(0.9.4)
  • omniauth(1.4.2)
  • omniauth-facebook(1.6.0)

我怀疑这是宝石不能与Facebook发回的数据兼容的问题。

关于如何应对这一挑战的任何指示?

更新:为Deepak添加错误图像

enter image description here

1 个答案:

答案 0 :(得分:5)

您可能正在使用较旧的宝石版本。如果您的应用程序可行,则更新版本可能是个好主意。 另外,请检查您的环境中是否能够与Facebook通信,并且没有代理问题。