【问题标题】:OAuth2 Error during facebook authentication in RailsRails 中的 Facebook 身份验证期间出现 OAuth2 错误
【发布时间】:2017-09-07 23:29:03
【问题描述】:

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

OAuth2::错误 : {"access_token":"XXX","token_type":"bearer","expires_in":123}

这是错误的位置

这是堆栈跟踪

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'

我正在使用以下 gem 版本

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

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

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

更新:为 Deepak 添加错误图片

【问题讨论】:

  • 错误是什么?请同时添加错误
  • 您好 deepak,我很抱歉,我没有完全正确理解您的问题,因为我相信我已经在前几行中分享了错误。无论如何,我已经添加了错误的屏幕截图。
  • 访问令牌返回格式已更改,请参阅stackoverflow.com/questions/42994019/… 很确定我在过去几天也看到了一个关于此的问题,并且那里的人通过更新他们的包。

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


【解决方案1】:

您可能使用的是较旧的 gem 版本。如果这对您的应用程序可行,那么更新版本可能是一个好主意。 此外,请检查您的环境中是否能够与 Facebook 交谈并且没有代理问题。

【讨论】:

  • 是的,更新就是答案。但它没有用,因为我还使用了omniauth-soundcloud,它依赖于早期版本的oauth2(omniauth-soundcloud 上次提交是5 年前)。所以那里存在依赖冲突。我必须按照此链接stackoverflow.com/questions/6132479/… 中的建议分叉omniauth-soundcloud 并更新gem,然后我才能毫无问题地捆绑更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-17
  • 2017-01-25
相关资源
最近更新 更多