0

I was using Oauth in my project for quite a long time (and I am sure it was working before), but after some time it has broken for all providers at the same time and for all providers (facebook, vkontakte, twitter)

The error is

undefined method `request_uri' for #<URI::Generic https://graph.facebook.com/oauth/access_token>

I tried to downgrade to ruby 1.9.0 (from 2.1.0) - it is still the same

Full stack is

NoMethodError (undefined method `request_uri' for #<URI::Generic:0x00000101ee8f48>):
faraday (0.9.1) lib/faraday/adapter/net_http.rb:66:in `create_request'
faraday (0.9.1) lib/faraday/adapter/net_http.rb:82:in `perform_request'
faraday (0.9.1) lib/faraday/adapter/net_http.rb:40:in `block in call'
faraday (0.9.1) lib/faraday/adapter/net_http.rb:87:in `with_net_http_connection'
faraday (0.9.1) lib/faraday/adapter/net_http.rb:32:in `call'
faraday (0.9.1) lib/faraday/request/url_encoded.rb:15:in `call'
faraday (0.9.1) lib/faraday/rack_builder.rb:139:in `build_response'
faraday (0.9.1) lib/faraday/connection.rb:377:in `run_request'
oauth2 (1.0.0) lib/oauth2/client.rb:93:in `request'
oauth2 (1.0.0) lib/oauth2/client.rb:138:in `get_token'
oauth2 (1.0.0) lib/oauth2/strategy/auth_code.rb:29:in `get_token'
omniauth-oauth2 (1.3.1) lib/omniauth/strategies/oauth2.rb:93:in `build_access_token'
omniauth-facebook (2.0.1) lib/omniauth/strategies/facebook.rb:115:in `build_access_token'
omniauth-oauth2 (1.3.1) lib/omniauth/strategies/oauth2.rb:77:in `callback_phase'
omniauth-facebook (2.0.1) lib/omniauth/strategies/facebook.rb:73:in `block in callback_phase'
omniauth-facebook (2.0.1) lib/omniauth/strategies/facebook.rb:136:in `with_authorization_code!'
omniauth-facebook (2.0.1) lib/omniauth/strategies/facebook.rb:72:in `callback_phase'
omniauth (1.2.2) lib/omniauth/strategy.rb:227:in `callback_call'
omniauth (1.2.2) lib/omniauth/strategy.rb:184:in `call!'
omniauth (1.2.2) lib/omniauth/strategy.rb:164:in `call'
omniauth (1.2.2) lib/omniauth/builder.rb:59:in `call'
rack (1.5.5) lib/rack/etag.rb:23:in `call'
rack (1.5.5) lib/rack/conditionalget.rb:25:in `call'
rack (1.5.5) lib/rack/head.rb:11:in `call'

Does anybody has the same?

Georgy Buranov
  • 1,296
  • 1
  • 16
  • 26
  • 1
    Please check this http://stackoverflow.com/questions/2165665/how-do-i-get-the-current-absolute-url-in-ruby-on-rails – Ankita Tandel Aug 12 '15 at 08:20
  • 1
    possible duplicate of [While loading webpage: "undefined method \`request\_uri' for #"](http://stackoverflow.com/questions/2291919/while-loading-webpage-undefined-method-request-uri-for) – Brad Werth Aug 12 '15 at 08:24
  • Please notice that this is not my code in the backtrace. And the URL (https://graph.facebook.com/oauth/access_token) seems to be ok. Should I update oauth to specific version? – Georgy Buranov Aug 12 '15 at 08:33
  • Actually it is not clear why I have URI::Generic and not URI::Https – Georgy Buranov Aug 12 '15 at 08:37
  • Try to update `omniauth-*` gems. `URI::Generic` do not implement `request_uri`, but `URI::Http` yes and `URI::Https` by inherit, seems like your code have hardcoded the URL. – Javier Valencia Aug 12 '15 at 08:42
  • my omniauth-facebook (2.0.1) seems to be the new one – Georgy Buranov Aug 12 '15 at 08:46

0 Answers0