Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NoMethodError in DeviseTokenAuth::OmniauthCallbacksController#redirect_callbacks #82

Closed
narapon opened this issue Dec 2, 2014 · 22 comments

Comments

@narapon
Copy link

narapon commented Dec 2, 2014

I'm trying to get this working on Steam but it was returning even less parameters than facebook so I tried the facebook oauth stratrgy. Got a similar error here:

omniauth-facebook:

undefined method `underscore' for nil:NilClass
Rails.root: /home/rails/tapp

Request
Parameters:

{"code"=>"AQAgnaKoVBwBdPekK_ILh56a0EJi_d-bdrZV-BxqZcj1zXZrFV071dYosQvWYziJ6shjrVTmKjW-SVInr0YrkXJ20J7IwYxaC6ipfVtHxRPL8fUmFB2r2NUH3KyZb8d4AEuGxZtpYbhQ689o2Jq-Jy1pvBO1CrEExSSF3hWODnq1JSo_Kds0VU2_ekXeuP-sU4_Ndp5ORwvSRlVCpunuXQA0GSXdl9uKNndqNZG_E9LfI6lmb-m6vDu7tHS5GpDzaeDVQKYF9PrV24IA50Pd0WOVsi9HTOuw5luK8yQVJb9487TYFWS7kYMyF6z8vFJhK7Y",
"state"=>"c86ca9b20ebd9205904d4e291a9e6eec19e8074ceafe246f",
"provider"=>"facebook"}

framework trace:

devise_token_auth (0.1.30) app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:11:in redirect_callbacks' actionpack (4.1.8) lib/action_controller/metal/implicit_render.rb:4:insend_action'
actionpack (4.1.8) lib/abstract_controller/base.rb:189:in process_action' actionpack (4.1.8) lib/action_controller/metal/rendering.rb:10:inprocess_action'
actionpack (4.1.8) lib/abstract_controller/callbacks.rb:20:in block in process_action' activesupport (4.1.8) lib/active_support/callbacks.rb:113:incall'
activesupport (4.1.8) lib/active_support/callbacks.rb:113:in call' activesupport (4.1.8) lib/active_support/callbacks.rb:229:inblock in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in call' activesupport (4.1.8) lib/active_support/callbacks.rb:166:inblock in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:229:in call' activesupport (4.1.8) lib/active_support/callbacks.rb:229:inblock in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in call' activesupport (4.1.8) lib/active_support/callbacks.rb:166:inblock in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in call' activesupport (4.1.8) lib/active_support/callbacks.rb:166:inblock in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in call' activesupport (4.1.8) lib/active_support/callbacks.rb:166:inblock in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:166:in call' activesupport (4.1.8) lib/active_support/callbacks.rb:166:inblock in halting'
activesupport (4.1.8) lib/active_support/callbacks.rb:86:in call' activesupport (4.1.8) lib/active_support/callbacks.rb:86:inrun_callbacks'
actionpack (4.1.8) lib/abstract_controller/callbacks.rb:19:in process_action' actionpack (4.1.8) lib/action_controller/metal/rescue.rb:29:inprocess_action'
actionpack (4.1.8) lib/action_controller/metal/instrumentation.rb:31:in block in process_action' activesupport (4.1.8) lib/active_support/notifications.rb:159:inblock in instrument'
activesupport (4.1.8) lib/active_support/notifications/instrumenter.rb:20:in instrument' activesupport (4.1.8) lib/active_support/notifications.rb:159:ininstrument'
actionpack (4.1.8) lib/action_controller/metal/instrumentation.rb:30:in process_action' actionpack (4.1.8) lib/action_controller/metal/params_wrapper.rb:250:inprocess_action'
activerecord (4.1.8) lib/active_record/railties/controller_runtime.rb:18:in process_action' actionpack (4.1.8) lib/abstract_controller/base.rb:136:inprocess'
actionview (4.1.8) lib/action_view/rendering.rb:30:in process' actionpack (4.1.8) lib/action_controller/metal.rb:196:indispatch'
actionpack (4.1.8) lib/action_controller/metal/rack_delegation.rb:13:in dispatch' actionpack (4.1.8) lib/action_controller/metal.rb:232:inblock in action'
actionpack (4.1.8) lib/action_dispatch/routing/route_set.rb:82:in call' actionpack (4.1.8) lib/action_dispatch/routing/route_set.rb:82:indispatch'
actionpack (4.1.8) lib/action_dispatch/routing/route_set.rb:50:in call' actionpack (4.1.8) lib/action_dispatch/journey/router.rb:73:inblock in call'
actionpack (4.1.8) lib/action_dispatch/journey/router.rb:59:in each' actionpack (4.1.8) lib/action_dispatch/journey/router.rb:59:incall'
actionpack (4.1.8) lib/action_dispatch/routing/route_set.rb:678:in call' omniauth (1.2.2) lib/omniauth/strategy.rb:404:incall_app!'
omniauth (1.2.2) lib/omniauth/strategy.rb:362:in callback_phase' omniauth-oauth2 (1.2.0) lib/omniauth/strategies/oauth2.rb:77:incallback_phase'
omniauth-facebook (2.0.0) lib/omniauth/strategies/facebook.rb:72:in block in callback_phase' omniauth-facebook (2.0.0) lib/omniauth/strategies/facebook.rb:135:inwith_authorization_code!'
omniauth-facebook (2.0.0) lib/omniauth/strategies/facebook.rb:71:in callback_phase' omniauth (1.2.2) lib/omniauth/strategy.rb:227:incallback_call'
omniauth (1.2.2) lib/omniauth/strategy.rb:184:in call!' omniauth (1.2.2) lib/omniauth/strategy.rb:164:incall'
omniauth (1.2.2) lib/omniauth/strategy.rb:186:in call!' omniauth (1.2.2) lib/omniauth/strategy.rb:164:incall'
omniauth (1.2.2) lib/omniauth/builder.rb:59:in call' warden (1.2.3) lib/warden/manager.rb:35:inblock in call'
warden (1.2.3) lib/warden/manager.rb:34:in catch' warden (1.2.3) lib/warden/manager.rb:34:incall'
rack (1.5.2) lib/rack/etag.rb:23:in call' rack (1.5.2) lib/rack/conditionalget.rb:25:incall'
rack (1.5.2) lib/rack/head.rb:11:in call' actionpack (4.1.8) lib/action_dispatch/middleware/params_parser.rb:27:incall'
actionpack (4.1.8) lib/action_dispatch/middleware/flash.rb:254:in call' rack (1.5.2) lib/rack/session/abstract/id.rb:225:incontext'
rack (1.5.2) lib/rack/session/abstract/id.rb:220:in call' actionpack (4.1.8) lib/action_dispatch/middleware/cookies.rb:560:incall'
activerecord (4.1.8) lib/active_record/query_cache.rb:36:in call' activerecord (4.1.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:incall'
activerecord (4.1.8) lib/active_record/migration.rb:380:in call' actionpack (4.1.8) lib/action_dispatch/middleware/callbacks.rb:29:inblock in call'
activesupport (4.1.8) lib/active_support/callbacks.rb:82:in run_callbacks' actionpack (4.1.8) lib/action_dispatch/middleware/callbacks.rb:27:incall'
actionpack (4.1.8) lib/action_dispatch/middleware/reloader.rb:73:in call' actionpack (4.1.8) lib/action_dispatch/middleware/remote_ip.rb:76:incall'
actionpack (4.1.8) lib/action_dispatch/middleware/debug_exceptions.rb:17:in call' actionpack (4.1.8) lib/action_dispatch/middleware/show_exceptions.rb:30:incall'
railties (4.1.8) lib/rails/rack/logger.rb:38:in call_app' railties (4.1.8) lib/rails/rack/logger.rb:20:inblock in call'
activesupport (4.1.8) lib/active_support/tagged_logging.rb:68:in block in tagged' activesupport (4.1.8) lib/active_support/tagged_logging.rb:26:intagged'
activesupport (4.1.8) lib/active_support/tagged_logging.rb:68:in tagged' railties (4.1.8) lib/rails/rack/logger.rb:20:incall'
actionpack (4.1.8) lib/action_dispatch/middleware/request_id.rb:21:in call' rack (1.5.2) lib/rack/methodoverride.rb:21:incall'
rack (1.5.2) lib/rack/runtime.rb:17:in call' activesupport (4.1.8) lib/active_support/cache/strategy/local_cache_middleware.rb:26:incall'
rack (1.5.2) lib/rack/lock.rb:17:in call' actionpack (4.1.8) lib/action_dispatch/middleware/static.rb:84:incall'
rack (1.5.2) lib/rack/sendfile.rb:112:in call' railties (4.1.8) lib/rails/engine.rb:514:incall'
railties (4.1.8) lib/rails/application.rb:144:in call' rack (1.5.2) lib/rack/lock.rb:17:incall'
rack (1.5.2) lib/rack/content_length.rb:14:in call' rack (1.5.2) lib/rack/handler/webrick.rb:60:inservice'
/home/rails/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/webrick/httpserver.rb:138:in service' /home/rails/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/webrick/httpserver.rb:94:inrun'
/home/rails/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'

omniauth-steam:

undefined method `underscore' for nil:NilClass
Rails.root: /home/rails/af

Request

Parameters:

{"provider"=>"steam"}

framework trace:

devise_token_auth (0.1.30) app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:11:in redirect_callbacks' actionpack (4.1.6) lib/action_controller/metal/implicit_render.rb:4:insend_action'
actionpack (4.1.6) lib/abstract_controller/base.rb:189:in process_action' actionpack (4.1.6) lib/action_controller/metal/rendering.rb:10:inprocess_action'
actionpack (4.1.6) lib/abstract_controller/callbacks.rb:20:in block in process_action' activesupport (4.1.6) lib/active_support/callbacks.rb:113:incall'
activesupport (4.1.6) lib/active_support/callbacks.rb:113:in call' activesupport (4.1.6) lib/active_support/callbacks.rb:229:inblock in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in call' activesupport (4.1.6) lib/active_support/callbacks.rb:166:inblock in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:229:in call' activesupport (4.1.6) lib/active_support/callbacks.rb:229:inblock in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in call' activesupport (4.1.6) lib/active_support/callbacks.rb:166:inblock in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in call' activesupport (4.1.6) lib/active_support/callbacks.rb:166:inblock in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in call' activesupport (4.1.6) lib/active_support/callbacks.rb:166:inblock in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:86:in call' activesupport (4.1.6) lib/active_support/callbacks.rb:86:inrun_callbacks'
actionpack (4.1.6) lib/abstract_controller/callbacks.rb:19:in process_action' actionpack (4.1.6) lib/action_controller/metal/rescue.rb:29:inprocess_action'
actionpack (4.1.6) lib/action_controller/metal/instrumentation.rb:31:in block in process_action' activesupport (4.1.6) lib/active_support/notifications.rb:159:inblock in instrument'
activesupport (4.1.6) lib/active_support/notifications/instrumenter.rb:20:in instrument' activesupport (4.1.6) lib/active_support/notifications.rb:159:ininstrument'
actionpack (4.1.6) lib/action_controller/metal/instrumentation.rb:30:in process_action' actionpack (4.1.6) lib/action_controller/metal/params_wrapper.rb:250:inprocess_action'
activerecord (4.1.6) lib/active_record/railties/controller_runtime.rb:18:in process_action' actionpack (4.1.6) lib/abstract_controller/base.rb:136:inprocess'
actionview (4.1.6) lib/action_view/rendering.rb:30:in process' actionpack (4.1.6) lib/action_controller/metal.rb:196:indispatch'
actionpack (4.1.6) lib/action_controller/metal/rack_delegation.rb:13:in dispatch' actionpack (4.1.6) lib/action_controller/metal.rb:232:inblock in action'
actionpack (4.1.6) lib/action_dispatch/routing/route_set.rb:82:in call' actionpack (4.1.6) lib/action_dispatch/routing/route_set.rb:82:indispatch'
actionpack (4.1.6) lib/action_dispatch/routing/route_set.rb:50:in call' actionpack (4.1.6) lib/action_dispatch/journey/router.rb:73:inblock in call'
actionpack (4.1.6) lib/action_dispatch/journey/router.rb:59:in each' actionpack (4.1.6) lib/action_dispatch/journey/router.rb:59:incall'
actionpack (4.1.6) lib/action_dispatch/routing/route_set.rb:678:in call' omniauth (1.2.2) lib/omniauth/strategy.rb:404:incall_app!'
omniauth (1.2.2) lib/omniauth/strategy.rb:362:in callback_phase' omniauth-openid (1.0.1) lib/omniauth/strategies/open_id.rb:81:incallback_phase'
omniauth (1.2.2) lib/omniauth/strategy.rb:227:in callback_call' omniauth (1.2.2) lib/omniauth/strategy.rb:184:incall!'
omniauth (1.2.2) lib/omniauth/strategy.rb:164:in call' omniauth (1.2.2) lib/omniauth/builder.rb:59:incall'
rack-cors (0.2.9) lib/rack/cors.rb:54:in call' warden (1.2.3) lib/warden/manager.rb:35:inblock in call'
warden (1.2.3) lib/warden/manager.rb:34:in catch' warden (1.2.3) lib/warden/manager.rb:34:incall'
rack (1.5.2) lib/rack/etag.rb:23:in call' rack (1.5.2) lib/rack/conditionalget.rb:25:incall'
rack (1.5.2) lib/rack/head.rb:11:in call' actionpack (4.1.6) lib/action_dispatch/middleware/params_parser.rb:27:incall'
actionpack (4.1.6) lib/action_dispatch/middleware/flash.rb:254:in call' rack (1.5.2) lib/rack/session/abstract/id.rb:225:incontext'
rack (1.5.2) lib/rack/session/abstract/id.rb:220:in call' actionpack (4.1.6) lib/action_dispatch/middleware/cookies.rb:560:incall'
activerecord (4.1.6) lib/active_record/query_cache.rb:36:in call' activerecord (4.1.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:incall'
activerecord (4.1.6) lib/active_record/migration.rb:380:in call' actionpack (4.1.6) lib/action_dispatch/middleware/callbacks.rb:29:inblock in call'
activesupport (4.1.6) lib/active_support/callbacks.rb:82:in run_callbacks' actionpack (4.1.6) lib/action_dispatch/middleware/callbacks.rb:27:incall'
actionpack (4.1.6) lib/action_dispatch/middleware/reloader.rb:73:in call' actionpack (4.1.6) lib/action_dispatch/middleware/remote_ip.rb:76:incall'
actionpack (4.1.6) lib/action_dispatch/middleware/debug_exceptions.rb:17:in call' actionpack (4.1.6) lib/action_dispatch/middleware/show_exceptions.rb:30:incall'
railties (4.1.6) lib/rails/rack/logger.rb:38:in call_app' railties (4.1.6) lib/rails/rack/logger.rb:20:inblock in call'
activesupport (4.1.6) lib/active_support/tagged_logging.rb:68:in block in tagged' activesupport (4.1.6) lib/active_support/tagged_logging.rb:26:intagged'
activesupport (4.1.6) lib/active_support/tagged_logging.rb:68:in tagged' railties (4.1.6) lib/rails/rack/logger.rb:20:incall'
actionpack (4.1.6) lib/action_dispatch/middleware/request_id.rb:21:in call' rack (1.5.2) lib/rack/methodoverride.rb:21:incall'
rack (1.5.2) lib/rack/runtime.rb:17:in call' activesupport (4.1.6) lib/active_support/cache/strategy/local_cache_middleware.rb:26:incall'
rack (1.5.2) lib/rack/lock.rb:17:in call' actionpack (4.1.6) lib/action_dispatch/middleware/static.rb:64:incall'
rack (1.5.2) lib/rack/sendfile.rb:112:in call' railties (4.1.6) lib/rails/engine.rb:514:incall'
railties (4.1.6) lib/rails/application.rb:144:in call' rack (1.5.2) lib/rack/content_length.rb:14:incall'
thin (1.6.3) lib/thin/connection.rb:86:in block in pre_process' thin (1.6.3) lib/thin/connection.rb:84:incatch'
thin (1.6.3) lib/thin/connection.rb:84:in pre_process' thin (1.6.3) lib/thin/connection.rb:53:inprocess'
thin (1.6.3) lib/thin/connection.rb:39:in receive_data' eventmachine (1.0.3) lib/eventmachine.rb:187:inrun_machine'
eventmachine (1.0.3) lib/eventmachine.rb:187:in run' thin (1.6.3) lib/thin/backends/base.rb:73:instart'
thin (1.6.3) lib/thin/server.rb:162:in start' rack (1.5.2) lib/rack/handler/thin.rb:16:inrun'
rack (1.5.2) lib/rack/server.rb:264:in start' railties (4.1.6) lib/rails/commands/server.rb:69:instart'
railties (4.1.6) lib/rails/commands/commands_tasks.rb:81:in block in server' railties (4.1.6) lib/rails/commands/commands_tasks.rb:76:intap'
railties (4.1.6) lib/rails/commands/commands_tasks.rb:76:in server' railties (4.1.6) lib/rails/commands/commands_tasks.rb:40:inrun_command!'
railties (4.1.6) lib/rails/commands.rb:17:in <top (required)>' bin/rails:8:inrequire'
bin/rails:8:in <top (required)>' spring (1.2.0) lib/spring/client/rails.rb:27:inload'
spring (1.2.0) lib/spring/client/rails.rb:27:in call' spring (1.2.0) lib/spring/client/command.rb:7:incall'
spring (1.2.0) lib/spring/client.rb:26:in run' spring (1.2.0) bin/spring:48:in<top (required)>'
spring (1.2.0) lib/spring/binstub.rb:11:in load' spring (1.2.0) lib/spring/binstub.rb:11:in<top (required)>'
bin/spring:16:in require' bin/spring:16:in<top (required)>'
bin/rails:3:in load' bin/rails:3:in

'

@lynndylanhurley
Copy link
Owner

Before the OAuth request is made by OmniAuth to the provider, several values are stored in a session until the authentication is complete (here). It doesn't look like those values are making it thru the redirect.

Are there any notable differences between your app and the demo app? For example, have you disabled the Rails session system?

@narapon
Copy link
Author

narapon commented Dec 3, 2014

using a respond_with session i get the following

{
"session_id": "5b295aaab53849c828d99ca756c499bc",
"warden.user.user.key": [
[
1
],
null
],
"warden.user.user.session": {},
"omniauth.params": {
"resource_class": "User"
},
"omniauth.origin": "http://staging.asiafortress.com/",
"OpenID::Consumer::DiscoveredServices::OpenID::Consumer::": {
"starting_url": "http://steamcommunity.com/openid",
"yadis_url": "http://steamcommunity.com/openid",
"services": [],
"current": {
"@claimed_id": null,
"@server_url": "https://steamcommunity.com/openid/login",
"@type_uris": [
"http://specs.openid.net/auth/2.0/server"
],
"@local_id": null,
"@canonical_id": null,
"@used_yadis": true,
"@display_identifier": null
}
},
"OpenID::Consumer::last_requested_endpoint": {
"@claimed_id": null,
"@server_url": "https://steamcommunity.com/openid/login",
"@type_uris": [
"http://specs.openid.net/auth/2.0/server"
],
"@local_id": null,
"@canonical_id": null,
"@used_yadis": true,
"@display_identifier": null
}
}

It seems that omniauth.auth is missing from this. I cleared my cookies to try again, creating a post route:

post '/omniauth/:provider/callback', to: 'devise_token_auth/omniauth_callbacks#redirect_callbacks'

and i get a "undefined method `[]' for nil:NilClass" with the following application trace

devise_token_auth (0.1.30) app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:24:in `omniauth_success'
actionpack (4.1.6) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (4.1.6) lib/abstract_controller/base.rb:189:in `process_action'
actionpack (4.1.6) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (4.1.6) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
activesupport (4.1.6) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.6) lib/active_support/callbacks.rb:113:in `call'
activesupport (4.1.6) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:229:in `call'
activesupport (4.1.6) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.6) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.6) lib/active_support/callbacks.rb:86:in `call'
activesupport (4.1.6) lib/active_support/callbacks.rb:86:in `run_callbacks'
actionpack (4.1.6) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (4.1.6) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (4.1.6) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
activesupport (4.1.6) lib/active_support/notifications.rb:159:in `block in instrument'
activesupport (4.1.6) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.1.6) lib/active_support/notifications.rb:159:in `instrument'
actionpack (4.1.6) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
actionpack (4.1.6) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.1.6) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (4.1.6) lib/abstract_controller/base.rb:136:in `process'
actionview (4.1.6) lib/action_view/rendering.rb:30:in `process'
actionpack (4.1.6) lib/action_controller/metal.rb:196:in `dispatch'
actionpack (4.1.6) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.1.6) lib/action_controller/metal.rb:232:in `block in action'
actionpack (4.1.6) lib/action_dispatch/routing/route_set.rb:82:in `call'
actionpack (4.1.6) lib/action_dispatch/routing/route_set.rb:82:in `dispatch'
actionpack (4.1.6) lib/action_dispatch/routing/route_set.rb:50:in `call'
actionpack (4.1.6) lib/action_dispatch/routing/mapper.rb:45:in `call'
actionpack (4.1.6) lib/action_dispatch/journey/router.rb:73:in `block in call'
actionpack (4.1.6) lib/action_dispatch/journey/router.rb:59:in `each'
actionpack (4.1.6) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.1.6) lib/action_dispatch/routing/route_set.rb:678:in `call'
omniauth (1.2.2) lib/omniauth/strategy.rb:186: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-cors (0.2.9) lib/rack/cors.rb:54:in `call'
warden (1.2.3) lib/warden/manager.rb:35:in `block in call'
warden (1.2.3) lib/warden/manager.rb:34:in `catch'
warden (1.2.3) lib/warden/manager.rb:34:in `call'
rack (1.5.2) lib/rack/etag.rb:23:in `call'
rack (1.5.2) lib/rack/conditionalget.rb:25:in `call'
rack (1.5.2) lib/rack/head.rb:11:in `call'
actionpack (4.1.6) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.1.6) lib/action_dispatch/middleware/flash.rb:254:in `call'
rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.1.6) lib/action_dispatch/middleware/cookies.rb:560:in `call'
activerecord (4.1.6) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.1.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
activerecord (4.1.6) lib/active_record/migration.rb:380:in `call'
actionpack (4.1.6) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.1.6) lib/active_support/callbacks.rb:82:in `run_callbacks'
actionpack (4.1.6) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.1.6) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.1.6) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
actionpack (4.1.6) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
actionpack (4.1.6) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.1.6) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.1.6) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.1.6) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.1.6) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.1.6) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.1.6) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.1.6) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.1.6) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.1.6) lib/action_dispatch/middleware/static.rb:64:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.1.6) lib/rails/engine.rb:514:in `call'
railties (4.1.6) lib/rails/application.rb:144:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
thin (1.6.3) lib/thin/connection.rb:86:in `block in pre_process'
thin (1.6.3) lib/thin/connection.rb:84:in `catch'
thin (1.6.3) lib/thin/connection.rb:84:in `pre_process'
thin (1.6.3) lib/thin/connection.rb:53:in `process'
thin (1.6.3) lib/thin/connection.rb:39:in `receive_data'
eventmachine (1.0.3) lib/eventmachine.rb:187:in `run_machine'
eventmachine (1.0.3) lib/eventmachine.rb:187:in `run'
thin (1.6.3) lib/thin/backends/base.rb:73:in `start'
thin (1.6.3) lib/thin/server.rb:162:in `start'
rack (1.5.2) lib/rack/handler/thin.rb:16:in `run'
rack (1.5.2) lib/rack/server.rb:264:in `start'
railties (4.1.6) lib/rails/commands/server.rb:69:in `start'
railties (4.1.6) lib/rails/commands/commands_tasks.rb:81:in `block in server'
railties (4.1.6) lib/rails/commands/commands_tasks.rb:76:in `tap'
railties (4.1.6) lib/rails/commands/commands_tasks.rb:76:in `server'
railties (4.1.6) lib/rails/commands/commands_tasks.rb:40:in `run_command!'
railties (4.1.6) lib/rails/commands.rb:17:in `<top (required)>'
bin/rails:8:in `require'
bin/rails:8:in `<top (required)>'
spring (1.2.0) lib/spring/client/rails.rb:27:in `load'
spring (1.2.0) lib/spring/client/rails.rb:27:in `call'
spring (1.2.0) lib/spring/client/command.rb:7:in `call'
spring (1.2.0) lib/spring/client.rb:26:in `run'
spring (1.2.0) bin/spring:48:in `<top (required)>'
spring (1.2.0) lib/spring/binstub.rb:11:in `load'
spring (1.2.0) lib/spring/binstub.rb:11:in `<top (required)>'
bin/spring:16:in `require'
bin/spring:16:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'

Request

Parameters:

{"provider"=>"steam"}

the callback response is

http://staging.asiafortress.com:3000/omniauth/steam/callback?resource_class=User&_method=post&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fsteamcommunity.com%2Fopenid%2Flogin&openid.claimed_id=http%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561197965950513&openid.identity=http%3A%2F%2Fsteamcommunity.com%2Fopenid%2Fid%2F76561197965950513&openid.return_to=http%3A%2F%2Fstaging.asiafortress.com%3A3000%2Fomniauth%2Fsteam%2Fcallback%3Fresource_class%3DUser%26_method%3Dpost&openid.response_nonce=2014-12-03T05%3A22%3A30ZqQYq03nQSfOrzSZqkn7rgATEtz0%3D&openid.assoc_handle=1234567890&openid.signed=signed%2Cop_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle&openid.sig=oeFw0pOhZI6mdWdsnQRhsqGSUL4%3D

with the request.env["omniauth.auth"] set to

{
    "provider": "steam",
    "uid": "76561197965950513",
    "info": {
        "nickname": "nara`ks",
        "name": "Uncle Drew's Curry Restaurant",
        "location": "4816, ON, CA",
        "image": "http://cdn.akamai.steamstatic.com/steamcommunity/public/images/avatars/5e/5edcc6c170fe1747857f11eb12e9a903ad3f7632_medium.jpg",
        "urls": {
            "Profile": "http://steamcommunity.com/id/ponponnatapon/",
            "FriendList": {
                "scheme": "http",
                "user": null,
                "password": null,
                "host": "api.steampowered.com",
                "port": 80,
                "path": "/ISteamUser/GetFriendList/v0001/",
                "query": "key=9B109AA0ECEF40068A7188DC828BF6FD&steamid=76561197965950513&relationship=friend",
                "opaque": null,
                "registry": null,
                "fragment": null,
                "parser": null
            }
        }
    },
    "credentials": {},
    "extra": {
        "response": {
            "endpoint": {
                "claimed_id": "http://steamcommunity.com/openid/id/76561197965950513",
                "server_url": "https://steamcommunity.com/openid/login",
                "type_uris": [
                    "http://specs.openid.net/auth/2.0/signon"
                ],
                "local_id": null,
                "canonical_id": null,
                "used_yadis": true,
                "display_identifier": null
            },
            "identity_url": "http://steamcommunity.com/openid/id/76561197965950513",
            "message": {
                "args": {
                    "[:bare_namespace, \"resource_class\"]": "User",
                    "[:bare_namespace, \"_method\"]": "post",
                    "[\"http://specs.openid.net/auth/2.0\", \"mode\"]": "id_res",
                    "[\"http://specs.openid.net/auth/2.0\", \"op_endpoint\"]": "https://steamcommunity.com/openid/login",
                    "[\"http://specs.openid.net/auth/2.0\", \"claimed_id\"]": "http://steamcommunity.com/openid/id/76561197965950513",
                    "[\"http://specs.openid.net/auth/2.0\", \"identity\"]": "http://steamcommunity.com/openid/id/76561197965950513",
                    "[\"http://specs.openid.net/auth/2.0\", \"return_to\"]": "http://staging.asiafortress.com:3000/omniauth/steam/callback?resource_class=User&_method=post",
                    "[\"http://specs.openid.net/auth/2.0\", \"response_nonce\"]": "2014-12-03T05:22:30ZqQYq03nQSfOrzSZqkn7rgATEtz0=",
                    "[\"http://specs.openid.net/auth/2.0\", \"assoc_handle\"]": "1234567890",
                    "[\"http://specs.openid.net/auth/2.0\", \"signed\"]": "signed,op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle",
                    "[\"http://specs.openid.net/auth/2.0\", \"sig\"]": "oeFw0pOhZI6mdWdsnQRhsqGSUL4="
                },
                "namespaces": {
                    "alias_to_namespace": {
                        "null_namespace": "http://specs.openid.net/auth/2.0",
                        "sreg": "http://openid.net/extensions/sreg/1.1"
                    },
                    "namespace_to_alias": {
                        "http://specs.openid.net/auth/2.0": "null_namespace",
                        "http://openid.net/extensions/sreg/1.1": "sreg"
                    },
                    "implicit_namespaces": []
                },
                "openid_ns_uri": "http://specs.openid.net/auth/2.0"
            },
            "signed_fields": [
                "openid.signed",
                "openid.op_endpoint",
                "openid.claimed_id",
                "openid.identity",
                "openid.return_to",
                "openid.response_nonce",
                "openid.assoc_handle"
            ]
        },
        "raw_info": {
            "steamid": "76561197965950513",
            "communityvisibilitystate": 3,
            "profilestate": 1,
            "personaname": "nara`ks",
            "lastlogoff": 1417558099,
            "profileurl": "http://steamcommunity.com/id/ponponnatapon/",
            "avatar": "http://cdn.akamai.steamstatic.com/steamcommunity/public/images/avatars/5e/5edcc6c170fe1747857f11eb12e9a903ad3f7632.jpg",
            "avatarmedium": "http://cdn.akamai.steamstatic.com/steamcommunity/public/images/avatars/5e/5edcc6c170fe1747857f11eb12e9a903ad3f7632_medium.jpg",
            "avatarfull": "http://cdn.akamai.steamstatic.com/steamcommunity/public/images/avatars/5e/5edcc6c170fe1747857f11eb12e9a903ad3f7632_full.jpg",
            "personastate": 3,
            "realname": "Uncle Drew's Curry Restaurant",
            "primaryclanid": "103582791430596731",
            "timecreated": 1082298359,
            "personastateflags": 0,
            "loccountrycode": "CA",
            "locstatecode": "ON",
            "loccityid": 4816
        }
    }
}

I've also tried the demo app but got the same issue. perhaps i'm making requests from the browser directly that is causing this?

@narapon
Copy link
Author

narapon commented Dec 3, 2014

Breaking up the posts as it seems long

Using the demoapp:

NoMethodError in DeviseTokenAuth::OmniauthCallbacksController#redirect_callbacks

undefined method `constantize' for nil:NilClass

Extracted source (around line #9):   (in application_controller.rb)
    devise_parameter_sanitizer.for(:sign_up) << :favorite_color

devise_token_auth (0.1.30.beta5) app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:110:in `resource_class'
devise (3.4.1) lib/devise/controllers/helpers.rb:152:in `devise_parameter_sanitizer'
activesupport (4.1.4) lib/active_support/callbacks.rb:424:in `block in make_lambda'
activesupport (4.1.4) lib/active_support/callbacks.rb:143:in `call'
activesupport (4.1.4) lib/active_support/callbacks.rb:143:in `block in halting_and_conditional'
activesupport (4.1.4) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.4) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.4) lib/active_support/callbacks.rb:229:in `call'
activesupport (4.1.4) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.4) lib/active_support/callbacks.rb:229:in `call'
activesupport (4.1.4) lib/active_support/callbacks.rb:229:in `block in halting'
activesupport (4.1.4) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.4) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.4) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.4) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.4) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.4) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.4) lib/active_support/callbacks.rb:166:in `call'
activesupport (4.1.4) lib/active_support/callbacks.rb:166:in `block in halting'
activesupport (4.1.4) lib/active_support/callbacks.rb:86:in `call'
activesupport (4.1.4) lib/active_support/callbacks.rb:86:in `run_callbacks'
actionpack (4.1.4) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (4.1.4) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (4.1.4) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
activesupport (4.1.4) lib/active_support/notifications.rb:159:in `block in instrument'
activesupport (4.1.4) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.1.4) lib/active_support/notifications.rb:159:in `instrument'
actionpack (4.1.4) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
actionpack (4.1.4) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.1.4) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (4.1.4) lib/abstract_controller/base.rb:136:in `process'
actionview (4.1.4) lib/action_view/rendering.rb:30:in `process'
actionpack (4.1.4) lib/action_controller/metal.rb:196:in `dispatch'
actionpack (4.1.4) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.1.4) lib/action_controller/metal.rb:232:in `block in action'
actionpack (4.1.4) lib/action_dispatch/routing/route_set.rb:82:in `call'
actionpack (4.1.4) lib/action_dispatch/routing/route_set.rb:82:in `dispatch'
actionpack (4.1.4) lib/action_dispatch/routing/route_set.rb:50:in `call'
actionpack (4.1.4) lib/action_dispatch/journey/router.rb:71:in `block in call'
actionpack (4.1.4) lib/action_dispatch/journey/router.rb:59:in `each'
actionpack (4.1.4) lib/action_dispatch/journey/router.rb:59:in `call'
actionpack (4.1.4) lib/action_dispatch/routing/route_set.rb:678:in `call'
omniauth (1.2.2) lib/omniauth/strategy.rb:186:in `call!'
omniauth (1.2.2) lib/omniauth/strategy.rb:164:in `call'
omniauth (1.2.2) lib/omniauth/strategy.rb:186:in `call!'
omniauth (1.2.2) lib/omniauth/strategy.rb:164:in `call'
omniauth (1.2.2) lib/omniauth/strategy.rb:186:in `call!'
omniauth (1.2.2) lib/omniauth/strategy.rb:164:in `call'
omniauth (1.2.2) lib/omniauth/strategy.rb:186:in `call!'
omniauth (1.2.2) lib/omniauth/strategy.rb:164:in `call'
omniauth (1.2.2) lib/omniauth/strategy.rb:404:in `call_app!'
omniauth (1.2.2) lib/omniauth/strategy.rb:362:in `callback_phase'
omniauth-openid (1.0.1) lib/omniauth/strategies/open_id.rb:81: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-cors (0.2.9) lib/rack/cors.rb:54:in `call'
warden (1.2.3) lib/warden/manager.rb:35:in `block in call'
warden (1.2.3) lib/warden/manager.rb:34:in `catch'
warden (1.2.3) lib/warden/manager.rb:34:in `call'
rack (1.5.2) lib/rack/etag.rb:23:in `call'
rack (1.5.2) lib/rack/conditionalget.rb:25:in `call'
rack (1.5.2) lib/rack/head.rb:11:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/flash.rb:254:in `call'
rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/cookies.rb:560:in `call'
activerecord (4.1.4) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.1.4) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
activerecord (4.1.4) lib/active_record/migration.rb:380:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.1.4) lib/active_support/callbacks.rb:82:in `run_callbacks'
actionpack (4.1.4) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.1.4) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.1.4) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.1.4) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.1.4) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.1.4) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.1.4) lib/action_dispatch/middleware/static.rb:64:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.1.4) lib/rails/engine.rb:514:in `call'
railties (4.1.4) lib/rails/application.rb:144:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
/home/rails/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
/home/rails/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
/home/rails/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'

both steam and facebook return the same results

@lynndylanhurley
Copy link
Owner

Hi @narapon - I'm sorry that I neglected this issue for so long. Are you still having trouble with this?

@lynndylanhurley
Copy link
Owner

@narapon - I'm closing this, please re-open if you're still having trouble.

@narapon
Copy link
Author

narapon commented Dec 22, 2014

i've managed to get it to work by bypassing/overriding the omniauth_callbacks_controller as the steam oauth strategy did not return some of the things required by the controller

@galharth
Copy link

@narapon Hey can you describe please how you override the omniauth_callbacks_controller to fix this problem?

@sarink
Copy link

sarink commented Nov 15, 2017

I'm still getting this same error today with rails 5 and omniauth-google-oauth2
@narapon @galharth @lynndylanhurley anyone have any ideas?

@lynndylanhurley
Copy link
Owner

@sarink we just pushed a beta yesterday. Can you please try with version 0.1.43.beta1?

@sarink
Copy link

sarink commented Nov 15, 2017

Just tried the beta, same error. Can you elaborate on what you mean by "disable the Rails session system"? I haven't seen any instructions for that in the readme, so I'm not sure if I've done it

@lynndylanhurley
Copy link
Owner

When I wrote that comment OmniAuth relied on sessions to function. I'm not sure if that's still the case, but if you've disabled sessions you may want to try re-enabling them to see if that resolves the issue.

@sarink
Copy link

sarink commented Nov 15, 2017

I haven't disabled it, I'm on a vanilla Rails 5 API Only project, I've encountered/fixed quite a few other errors, but I'm pretty stuck on this one. Any suggestions?

@lynndylanhurley
Copy link
Owner

We'll need more info about your environment. Please open a new issue that follows the issue template.

@sarink
Copy link

sarink commented Nov 15, 2017

rails new . --api is my environment.

I've seen this same issue actually opened and closed, without resolution, three times now... do you really want a fourth? I can document all the other problems and solutions I've encountered before I got to this tone too, but my first priority has to be fixing this error

@lynndylanhurley
Copy link
Owner

When using the --api flag, the session middleware is not included. Please try adding the session middleware and let me know if that resolves the issue.

@sarink
Copy link

sarink commented Nov 15, 2017

This issue still occurs with (this is how my configuration already was)

config.middleware.use ActionDispatch::Session::CookieStore

I've tried switching it to:

 config.middleware.insert_after ActiveRecord::Migration::CheckPending, ActionDispatch::Cookies
 config.middleware.insert_after ActionDispatch::Cookies, ActionDispatch::Session::CookieStore

Which yields a new error:

ActiveModel::ForbiddenAttributesError in DeviseTokenAuth::OmniauthCallbacksController#omniauth_success

Relevant stack trace:

activemodel (5.1.4) lib/active_model/forbidden_attributes_protection.rb:21:in `sanitize_for_mass_assignment'
activemodel (5.1.4) lib/active_model/attribute_assignment.rb:33:in `assign_attributes'
devise_token_auth (0.1.43.beta1) app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:83:in `assign_provider_attrs'
devise_token_auth (0.1.43.beta1) app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:244:in `get_resource_from_auth_hash'
devise_token_auth (0.1.43.beta1) app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:29:in `omniauth_success'
actionpack (5.1.4) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'

What parameters does this gem expect the user model to have? Anything special?

@lynndylanhurley
Copy link
Owner

Have you tried following these instructions?

@sarink
Copy link

sarink commented Nov 15, 2017

I did update my application.rb config according to those instructions^, that didn't fix the problem though.

I had to override the omniauth_callbacks_controllers assign_provider_attrs method

I monkey patched it to look like this:

    def assign_provider_attrs(user, auth_hash)
      all_attrs = auth_hash['info'].slice(*user.attributes.keys)
      orig_permit_val = ActionController::Parameters.permit_all_parameters
      ActionController::Parameters.permit_all_parameters = true
      permitted_attrs = ActionController::Parameters.new(all_attrs)
      permitted_attrs.permit({})
      return_val = user.assign_attributes(permitted_attrs)
      ActionController::Parameters.permit_all_parameters = orig_permit_val
      return return_val
    end

@sarink
Copy link

sarink commented Nov 15, 2017

Writeup of everything is here: #1020

@zachfeldman
Copy link
Contributor

Thanks @sarink ! Appreciate your contribution

@m-anwr
Copy link

m-anwr commented Dec 17, 2017

Hi @lynndylanhurley and all,
I followed instructions in @sarink 's comment but I still get:

NoMethodError (undefined method `[]' for nil:NilClass)
bundler/gems/devise_token_auth-49911e7522ba/app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:14:in `redirect_callbacks

I am using omniauth-facebook only, and using the latest version of devise_token_auth

Request params:

Processing by DeviseTokenAuth::OmniauthCallbacksController#redirect_callbacks as HTML
  Parameters: {"code"=>"XXXXXXXXX", "clientId"=>"XXXXXXXX", "redirectUri"=>"http://localhost:8080", "provider"=>"facebook", "omniauth_callback"=>{"code"=>"XXXX", "clientId"=>"XXXXX", "redirectUri"=>"http://localhost:8080"}}

Can anyone help?

@sarink
Copy link

sarink commented Dec 18, 2017

@Tootis i only used google-oauth2, maybe you could try setting that up to see if the problem is related to facebook or something else?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants