doorkeeper 5.2.5 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/Appraisals +2 -2
  3. data/CHANGELOG.md +16 -11
  4. data/Gemfile +2 -2
  5. data/app/controllers/doorkeeper/application_controller.rb +2 -2
  6. data/app/controllers/doorkeeper/application_metal_controller.rb +2 -2
  7. data/app/controllers/doorkeeper/applications_controller.rb +3 -3
  8. data/app/controllers/doorkeeper/authorizations_controller.rb +2 -2
  9. data/app/controllers/doorkeeper/authorized_applications_controller.rb +3 -3
  10. data/gemfiles/rails_5_0.gemfile +2 -2
  11. data/gemfiles/rails_5_1.gemfile +2 -2
  12. data/gemfiles/rails_5_2.gemfile +2 -2
  13. data/gemfiles/rails_6_0.gemfile +2 -2
  14. data/gemfiles/rails_master.gemfile +2 -2
  15. data/lib/doorkeeper/config.rb +71 -39
  16. data/lib/doorkeeper/grape/helpers.rb +1 -1
  17. data/lib/doorkeeper/helpers/controller.rb +10 -8
  18. data/lib/doorkeeper/models/access_grant_mixin.rb +7 -6
  19. data/lib/doorkeeper/models/access_token_mixin.rb +55 -18
  20. data/lib/doorkeeper/models/application_mixin.rb +3 -3
  21. data/lib/doorkeeper/models/concerns/ownership.rb +1 -1
  22. data/lib/doorkeeper/models/concerns/reusable.rb +1 -1
  23. data/lib/doorkeeper/models/concerns/revocable.rb +0 -27
  24. data/lib/doorkeeper/oauth/authorization/code.rb +4 -4
  25. data/lib/doorkeeper/oauth/authorization/token.rb +9 -6
  26. data/lib/doorkeeper/oauth/authorization_code_request.rb +13 -6
  27. data/lib/doorkeeper/oauth/base_request.rb +8 -4
  28. data/lib/doorkeeper/oauth/client.rb +7 -8
  29. data/lib/doorkeeper/oauth/client_credentials/creator.rb +16 -9
  30. data/lib/doorkeeper/oauth/client_credentials/issuer.rb +7 -7
  31. data/lib/doorkeeper/oauth/client_credentials/{validation.rb → validator.rb} +4 -4
  32. data/lib/doorkeeper/oauth/client_credentials_request.rb +1 -1
  33. data/lib/doorkeeper/oauth/code_response.rb +2 -2
  34. data/lib/doorkeeper/oauth/error.rb +1 -1
  35. data/lib/doorkeeper/oauth/error_response.rb +5 -5
  36. data/lib/doorkeeper/oauth/helpers/scope_checker.rb +7 -5
  37. data/lib/doorkeeper/oauth/helpers/unique_token.rb +8 -5
  38. data/lib/doorkeeper/oauth/helpers/uri_checker.rb +1 -1
  39. data/lib/doorkeeper/oauth/invalid_request_response.rb +3 -3
  40. data/lib/doorkeeper/oauth/invalid_token_response.rb +5 -2
  41. data/lib/doorkeeper/oauth/password_access_token_request.rb +3 -3
  42. data/lib/doorkeeper/oauth/pre_authorization.rb +7 -5
  43. data/lib/doorkeeper/oauth/refresh_token_request.rb +5 -5
  44. data/lib/doorkeeper/oauth/token.rb +2 -2
  45. data/lib/doorkeeper/oauth/token_introspection.rb +6 -6
  46. data/lib/doorkeeper/orm/active_record/access_grant.rb +4 -43
  47. data/lib/doorkeeper/orm/active_record/access_token.rb +4 -35
  48. data/lib/doorkeeper/orm/active_record/application.rb +3 -155
  49. data/lib/doorkeeper/orm/active_record/mixins/access_grant.rb +53 -0
  50. data/lib/doorkeeper/orm/active_record/mixins/access_token.rb +47 -0
  51. data/lib/doorkeeper/orm/active_record/mixins/application.rb +128 -0
  52. data/lib/doorkeeper/orm/active_record/redirect_uri_validator.rb +3 -3
  53. data/lib/doorkeeper/orm/active_record.rb +3 -3
  54. data/lib/doorkeeper/rails/helpers.rb +4 -4
  55. data/lib/doorkeeper/rails/routes.rb +5 -7
  56. data/lib/doorkeeper/rake/db.rake +3 -3
  57. data/lib/doorkeeper/request/authorization_code.rb +3 -3
  58. data/lib/doorkeeper/request/client_credentials.rb +2 -2
  59. data/lib/doorkeeper/request/password.rb +2 -2
  60. data/lib/doorkeeper/request/refresh_token.rb +3 -3
  61. data/lib/doorkeeper/request.rb +1 -1
  62. data/lib/doorkeeper/server.rb +1 -1
  63. data/lib/doorkeeper/stale_records_cleaner.rb +1 -1
  64. data/lib/doorkeeper/version.rb +2 -2
  65. data/lib/doorkeeper.rb +2 -3
  66. data/lib/generators/doorkeeper/application_owner_generator.rb +1 -1
  67. data/lib/generators/doorkeeper/confidential_applications_generator.rb +1 -1
  68. data/lib/generators/doorkeeper/migration_generator.rb +1 -1
  69. data/lib/generators/doorkeeper/pkce_generator.rb +1 -1
  70. data/lib/generators/doorkeeper/previous_refresh_token_generator.rb +2 -2
  71. data/lib/generators/doorkeeper/templates/initializer.rb +39 -8
  72. data/spec/controllers/application_metal_controller_spec.rb +1 -1
  73. data/spec/controllers/applications_controller_spec.rb +3 -2
  74. data/spec/controllers/authorizations_controller_spec.rb +18 -18
  75. data/spec/controllers/protected_resources_controller_spec.rb +25 -17
  76. data/spec/controllers/token_info_controller_spec.rb +1 -1
  77. data/spec/controllers/tokens_controller_spec.rb +1 -1
  78. data/spec/dummy/db/migrate/20151223192035_create_doorkeeper_tables.rb +3 -3
  79. data/spec/dummy/db/migrate/20160320211015_add_previous_refresh_token_to_access_tokens.rb +1 -1
  80. data/spec/dummy/db/migrate/20180210183654_add_confidential_to_applications.rb +1 -1
  81. data/spec/generators/install_generator_spec.rb +1 -1
  82. data/spec/generators/previous_refresh_token_generator_spec.rb +2 -2
  83. data/spec/helpers/doorkeeper/dashboard_helper_spec.rb +1 -1
  84. data/spec/lib/config_spec.rb +61 -21
  85. data/spec/lib/doorkeeper_spec.rb +1 -1
  86. data/spec/lib/models/revocable_spec.rb +3 -3
  87. data/spec/lib/oauth/authorization_code_request_spec.rb +127 -125
  88. data/spec/lib/oauth/base_request_spec.rb +160 -158
  89. data/spec/lib/oauth/base_response_spec.rb +27 -29
  90. data/spec/lib/oauth/client/credentials_spec.rb +1 -1
  91. data/spec/lib/oauth/client_credentials/creator_spec.rb +42 -5
  92. data/spec/lib/oauth/client_credentials/issuer_spec.rb +12 -12
  93. data/spec/lib/oauth/client_credentials/validation_spec.rb +4 -4
  94. data/spec/lib/oauth/client_credentials_integration_spec.rb +16 -18
  95. data/spec/lib/oauth/client_credentials_request_spec.rb +78 -80
  96. data/spec/lib/oauth/client_spec.rb +26 -26
  97. data/spec/lib/oauth/code_request_spec.rb +34 -34
  98. data/spec/lib/oauth/code_response_spec.rb +21 -25
  99. data/spec/lib/oauth/error_response_spec.rb +42 -44
  100. data/spec/lib/oauth/error_spec.rb +12 -14
  101. data/spec/lib/oauth/forbidden_token_response_spec.rb +11 -13
  102. data/spec/lib/oauth/helpers/scope_checker_spec.rb +30 -18
  103. data/spec/lib/oauth/invalid_request_response_spec.rb +48 -50
  104. data/spec/lib/oauth/invalid_token_response_spec.rb +32 -34
  105. data/spec/lib/oauth/password_access_token_request_spec.rb +145 -147
  106. data/spec/lib/oauth/pre_authorization_spec.rb +159 -161
  107. data/spec/lib/oauth/refresh_token_request_spec.rb +138 -139
  108. data/spec/lib/oauth/scopes_spec.rb +104 -106
  109. data/spec/lib/oauth/token_request_spec.rb +115 -111
  110. data/spec/lib/oauth/token_response_spec.rb +71 -73
  111. data/spec/lib/oauth/token_spec.rb +121 -123
  112. data/spec/models/doorkeeper/access_grant_spec.rb +3 -5
  113. data/spec/models/doorkeeper/access_token_spec.rb +7 -7
  114. data/spec/models/doorkeeper/application_spec.rb +295 -373
  115. data/spec/requests/applications/applications_request_spec.rb +1 -1
  116. data/spec/requests/endpoints/authorization_spec.rb +5 -3
  117. data/spec/requests/flows/authorization_code_spec.rb +34 -22
  118. data/spec/requests/flows/client_credentials_spec.rb +1 -1
  119. data/spec/requests/flows/password_spec.rb +32 -12
  120. data/spec/requests/flows/refresh_token_spec.rb +19 -19
  121. data/spec/requests/flows/revoke_token_spec.rb +18 -12
  122. data/spec/spec_helper.rb +1 -4
  123. data/spec/support/shared/controllers_shared_context.rb +33 -23
  124. data/spec/validators/redirect_uri_validator_spec.rb +1 -1
  125. metadata +6 -5
  126. data/spec/support/http_method_shim.rb +0 -29
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Rails 5 deprecates calling HTTP action methods with positional arguments
4
- # in favor of keyword arguments. However, the keyword argument form is only
5
- # supported in Rails 5+. Since we support back to 4, we need some sort of shim
6
- # to avoid super noisy deprecations when running tests.
7
- module RoutingHTTPMethodShim
8
- def get(path, **args)
9
- super(path, args[:params], args[:headers])
10
- end
11
-
12
- def post(path, **args)
13
- super(path, args[:params], args[:headers])
14
- end
15
-
16
- def put(path, **args)
17
- super(path, args[:params], args[:headers])
18
- end
19
- end
20
-
21
- module ControllerHTTPMethodShim
22
- def process(action, http_method = "GET", **args)
23
- if (as = args.delete(:as))
24
- @request.headers["Content-Type"] = Mime[as].to_s
25
- end
26
-
27
- super(action, http_method, args[:params], args[:session], args[:flash])
28
- end
29
- end