8

当用户尝试使用 facebook 登录时,我的 Rails 应用程序有时(大约 2 周)在回调方法期间崩溃。

这是随机发生的,我找不到解决此问题的方法。

在错误和一段堆栈跟踪下方:

一个 Errno::ENETUNREACH 发生在 #: Network is unreachable - connect(2)

  • 请求方法:获取
  • REQUEST_PATH : /auth/facebook/callback
  • REQUEST_URI : /auth/facebook/callback?code=AQDoUnHaO4ShfZUtCw6TVHAd_oOWUQ7Lar-OunhlFHoWhpTmiliY8hWTEb0CmufEMABpUggIlAe15jx8BOxTmVXmHb3JvVlePEfECpkVhf82UWdoHK8jCYN00KM5RYUkbx6M5SHjusb2xWFeHnE92-nfvbpw2KSARqR5njgJqbV_hkJYb42SiuvNXKOTU6hYY_g

------------------------------------------- 回溯:

/home/finetuning/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/net/http.rb:762:in `initialize'
/home/finetuning/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/net/http.rb:762:in `open'
/home/finetuning/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/net/http.rb:762:in `block in connect'
/home/finetuning/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/timeout.rb:54:in `timeout'
/home/finetuning/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/timeout.rb:99:in `timeout'
/home/finetuning/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/net/http.rb:762:in `connect'
/home/finetuning/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/net/http.rb:755:in `do_start'
/home/finetuning/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/net/http.rb:744:in `start'
/home/finetuning/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/net/http.rb:1284:in `request'
法拉第 (0.7.6) lib/faraday/adapter/net_http.rb:61:in `call'
faraday (0.7.6) lib/faraday/request/url_encoded.rb:14:in `call'
法拉第 (0.7.6) lib/faraday/connection.rb:210:in `run_request'
oauth2 (0.5.2) lib/oauth2/client.rb:88:in `request'
oauth2 (0.5.2) lib/oauth2/client.rb:128:in `get_token'
oauth2 (0.5.2) lib/oauth2/strategy/auth_code.rb:29:in `get_token'
omn​​iauth-oauth2 (1.0.0) lib/omniauth/strategies/oauth2.rb:77:in `build_access_token'
omn​​iauth-facebook (1.2.0) lib/omniauth/strategies/facebook.rb:63:in `block in build_access_token'
omn​​iauth-facebook (1.2.0) lib/omniauth/strategies/facebook.rb:110:in `with_authorization_code'
omn​​iauth-facebook (1.2.0) lib/omniauth/strategies/facebook.rb:63:in `build_access_token'
omn​​iauth-oauth2 (1.0.0) lib/omniauth/strategies/oauth2.rb:61:in `callback_phase'
4

2 回答 2

0

这听起来像是需要向我重新请求访问令牌,但这是一个不可知的猜测。

在我开始工作之前,有很多事情阻止了回调为我工作:

  • 互联网连接一起停止
  • 配置/路由中没有路由
  • 糟糕的 JavaScript
  • facebook 应用程序上的回调 url 不匹配
  • oauth 的过时版本..等..

请随时仔细检查您对我的工作所做的工作,看看它是否有帮助:

http://www.ajostrow.me/thoughts/client-side-facebook-authentication-with-rails

于 2012-10-22T10:59:14.133 回答
0

问题是否以任何方式解决?我也在面对。

其他讨论: https ://github.com/mkdynamic/omniauth-facebook/issues/80

顺便说一句,您检查过开放端口吗?

于 2013-09-13T10:11:38.043 回答