Skip to content

/oauth/token returns an ArgumentError in 1.8.0 #151

@MH4GF

Description

@MH4GF

Hi!
After upgrading to 1.8.0, I noticed an ArgumentError in /oauth/token .

app_1       | Started POST "/oauth/token" for 172.20.0.1 at 2021-06-02 14:56:47 +0900
app_1       | Processing by Doorkeeper::TokensController#create as */*
app_1       |   Parameters: {"client_id"=>"uid", "client_secret"=>"[FILTERED]", "grant_type"=>"password", "username"=>"foo@example.com", "password"=>"[FILTERED]", "scope"=>"openid email", "token"=>{"client_id"=>"uid", "client_secret"=>"[FILTERED]", "grant_type"=>"password", "username"=>"foo@example.com", "password"=>"[FILTERED]", "scope"=>"openid email"}}
app_1       |   Account Load (0.8ms)  SELECT `accounts`.* FROM `accounts` WHERE `accounts`.`email` IS NULL LIMIT 1
app_1       |   ↳ config/initializers/doorkeeper.rb:22:in `block (2 levels) in <main>'
app_1       | Completed 500 Internal Server Error in 3ms (ActiveRecord: 0.8ms | Allocations: 1388)
app_1       |
app_1       |
app_1       | wrong number of arguments (given 5, expected 3..4) excluded from capture: No host specified, no public_key specified, no project_id specified
app_1       |
app_1       | ArgumentError (wrong number of arguments (given 5, expected 3..4)):
app_1       |
app_1       | doorkeeper-openid_connect (1.8.0) lib/doorkeeper/openid_connect/oauth/password_access_token_request.rb:9:in `initialize'
app_1       | doorkeeper (5.5.1) lib/doorkeeper/request/password.rb:9:in `new'
app_1       | doorkeeper (5.5.1) lib/doorkeeper/request/password.rb:9:in `request'
app_1       | doorkeeper (5.5.1) lib/doorkeeper/request/strategy.rb:8:in `authorize'
app_1       | doorkeeper (5.5.1) app/controllers/doorkeeper/tokens_controller.rb:133:in `authorize_response'
app_1       | doorkeeper (5.5.1) app/controllers/doorkeeper/tokens_controller.rb:8:in `create'
app_1       | actionpack (6.0.3.7) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
app_1       | actionpack (6.0.3.7) lib/abstract_controller/base.rb:195:in `process_action'
app_1       | actionpack (6.0.3.7) lib/action_controller/metal/rendering.rb:30:in `process_action'
app_1       | actionpack (6.0.3.7) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
app_1       | activesupport (6.0.3.7) lib/active_support/callbacks.rb:112:in `block in run_callbacks'
app_1       | sentry-raven (3.1.2) lib/raven/integrations/rails/controller_transaction.rb:7:in `block in included'
app_1       | activesupport (6.0.3.7) lib/active_support/callbacks.rb:121:in `instance_exec'
app_1       | activesupport (6.0.3.7) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app_1       | activesupport (6.0.3.7) lib/active_support/callbacks.rb:139:in `run_callbacks'
app_1       | actionpack (6.0.3.7) lib/abstract_controller/callbacks.rb:41:in `process_action'
app_1       | actionpack (6.0.3.7) lib/action_controller/metal/rescue.rb:22:in `process_action'
app_1       | actionpack (6.0.3.7) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'
app_1       | activesupport (6.0.3.7) lib/active_support/notifications.rb:180:in `block in instrument'
app_1       | activesupport (6.0.3.7) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
app_1       | activesupport (6.0.3.7) lib/active_support/notifications.rb:180:in `instrument'
app_1       | actionpack (6.0.3.7) lib/action_controller/metal/instrumentation.rb:32:in `process_action'
app_1       | actionpack (6.0.3.7) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'
app_1       | activerecord (6.0.3.7) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
app_1       | actionpack (6.0.3.7) lib/abstract_controller/base.rb:136:in `process'
app_1       | actionview (6.0.3.7) lib/action_view/rendering.rb:39:in `process'
app_1       | actionpack (6.0.3.7) lib/action_controller/metal.rb:190:in `dispatch'
app_1       | actionpack (6.0.3.7) lib/action_controller/metal.rb:254:in `dispatch'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/routing/route_set.rb:33:in `serve'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/journey/router.rb:49:in `block in serve'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/journey/router.rb:32:in `each'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/journey/router.rb:32:in `serve'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/routing/route_set.rb:834:in `call'
app_1       | bullet (6.1.4) lib/bullet/rack.rb:15:in `call'
app_1       | rack (2.2.3) lib/rack/deflater.rb:44:in `call'
app_1       | warden (1.2.9) lib/warden/manager.rb:36:in `block in call'
app_1       | warden (1.2.9) lib/warden/manager.rb:34:in `catch'
app_1       | warden (1.2.9) lib/warden/manager.rb:34:in `call'
app_1       | rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
app_1       | rack (2.2.3) lib/rack/etag.rb:27:in `call'
app_1       | rack (2.2.3) lib/rack/conditional_get.rb:40:in `call'
app_1       | rack (2.2.3) lib/rack/head.rb:12:in `call'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/http/content_security_policy.rb:18:in `call'
app_1       | rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
app_1       | rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/middleware/cookies.rb:648:in `call'
app_1       | activerecord (6.0.3.7) lib/active_record/migration.rb:567:in `call'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
app_1       | activesupport (6.0.3.7) lib/active_support/callbacks.rb:101:in `run_callbacks'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/middleware/executor.rb:14:in `call'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'
app_1       | web-console (4.1.0) lib/web_console/middleware.rb:132:in `call_app'
app_1       | web-console (4.1.0) lib/web_console/middleware.rb:28:in `block in call'
app_1       | web-console (4.1.0) lib/web_console/middleware.rb:17:in `catch'
app_1       | web-console (4.1.0) lib/web_console/middleware.rb:17:in `call'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
app_1       | rack-dev-mark (0.7.9) lib/rack/dev-mark/middleware.rb:19:in `call'
app_1       | railties (6.0.3.7) lib/rails/rack/logger.rb:37:in `call_app'
app_1       | railties (6.0.3.7) lib/rails/rack/logger.rb:26:in `block in call'
app_1       | activesupport (6.0.3.7) lib/active_support/tagged_logging.rb:80:in `block in tagged'
app_1       | activesupport (6.0.3.7) lib/active_support/tagged_logging.rb:28:in `tagged'
app_1       | activesupport (6.0.3.7) lib/active_support/tagged_logging.rb:80:in `tagged'
app_1       | railties (6.0.3.7) lib/rails/rack/logger.rb:26:in `call'
app_1       | sprockets-rails (3.2.2) lib/sprockets/rails/quiet_assets.rb:13:in `call'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
app_1       | request_store (1.5.0) lib/request_store/middleware.rb:19:in `call'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/middleware/request_id.rb:27:in `call'
app_1       | rack (2.2.3) lib/rack/method_override.rb:24:in `call'
app_1       | rack (2.2.3) lib/rack/runtime.rb:22:in `call'
app_1       | activesupport (6.0.3.7) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/middleware/executor.rb:14:in `call'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/middleware/static.rb:126:in `call'
app_1       | rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
app_1       | actionpack (6.0.3.7) lib/action_dispatch/middleware/host_authorization.rb:82:in `call'
app_1       | rack-cors (1.1.1) lib/rack/cors.rb:100:in `call'
app_1       | secure_headers (6.3.2) lib/secure_headers/middleware.rb:11:in `call'
app_1       | sentry-raven (3.1.2) lib/raven/integrations/rack.rb:51:in `call'
app_1       | webpacker (4.3.0) lib/webpacker/dev_server_proxy.rb:23:in `perform_request'
app_1       | rack-proxy (0.6.5) lib/rack/proxy.rb:57:in `call'
app_1       | railties (6.0.3.7) lib/rails/engine.rb:527:in `call'
app_1       | puma (5.3.2) lib/puma/configuration.rb:249:in `call'
app_1       | puma (5.3.2) lib/puma/request.rb:77:in `block in handle_request'
app_1       | puma (5.3.2) lib/puma/thread_pool.rb:338:in `with_force_shutdown'
app_1       | puma (5.3.2) lib/puma/request.rb:76:in `handle_request'
app_1       | puma (5.3.2) lib/puma/server.rb:438:in `process_client'
app_1       | puma (5.3.2) lib/puma/thread_pool.rb:145:in `block in spawn_thread'

Probably because the number of arguments in Doorkeeper::OAuth::PasswordAccessTokenRequest has changed since doorkeeper 5.5.
https://github.com/toupeira/doorkeeper/blob/ce48908b4c11a5956f23f56c1aa084d80d5b2cec/lib/doorkeeper/oauth/password_access_token_request.rb#L15

it resolved when I downgrade to Doorkeeper 5.4.
I'd appreciate anybody help.

Regards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions