doorkeeper 5.4.0.rc1 → 5.5.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of doorkeeper might be problematic. Click here for more details.

Files changed (219) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +108 -9
  3. data/README.md +4 -4
  4. data/app/controllers/doorkeeper/applications_controller.rb +3 -3
  5. data/app/controllers/doorkeeper/authorizations_controller.rb +16 -5
  6. data/app/controllers/doorkeeper/authorized_applications_controller.rb +1 -1
  7. data/app/controllers/doorkeeper/token_info_controller.rb +12 -2
  8. data/app/controllers/doorkeeper/tokens_controller.rb +34 -26
  9. data/app/views/doorkeeper/applications/_form.html.erb +1 -1
  10. data/app/views/doorkeeper/applications/show.html.erb +16 -12
  11. data/app/views/doorkeeper/authorizations/form_post.html.erb +11 -0
  12. data/config/locales/en.yml +3 -1
  13. data/lib/doorkeeper.rb +6 -1
  14. data/lib/doorkeeper/config.rb +109 -78
  15. data/lib/doorkeeper/config/abstract_builder.rb +1 -1
  16. data/lib/doorkeeper/config/option.rb +1 -3
  17. data/lib/doorkeeper/config/validations.rb +53 -0
  18. data/lib/doorkeeper/engine.rb +1 -1
  19. data/lib/doorkeeper/grant_flow.rb +45 -0
  20. data/lib/doorkeeper/grant_flow/fallback_flow.rb +15 -0
  21. data/lib/doorkeeper/grant_flow/flow.rb +44 -0
  22. data/lib/doorkeeper/grant_flow/registry.rb +50 -0
  23. data/lib/doorkeeper/helpers/controller.rb +8 -4
  24. data/lib/doorkeeper/models/access_grant_mixin.rb +12 -7
  25. data/lib/doorkeeper/models/access_token_mixin.rb +12 -8
  26. data/lib/doorkeeper/models/application_mixin.rb +5 -4
  27. data/lib/doorkeeper/models/concerns/revocable.rb +1 -1
  28. data/lib/doorkeeper/oauth/authorization/code.rb +5 -1
  29. data/lib/doorkeeper/oauth/authorization/context.rb +5 -5
  30. data/lib/doorkeeper/oauth/authorization/token.rb +11 -5
  31. data/lib/doorkeeper/oauth/authorization/uri_builder.rb +1 -1
  32. data/lib/doorkeeper/oauth/authorization_code_request.rb +10 -17
  33. data/lib/doorkeeper/oauth/base_request.rb +1 -1
  34. data/lib/doorkeeper/oauth/client_credentials/creator.rb +3 -2
  35. data/lib/doorkeeper/oauth/client_credentials/issuer.rb +1 -0
  36. data/lib/doorkeeper/oauth/client_credentials/validator.rb +3 -1
  37. data/lib/doorkeeper/oauth/code_request.rb +2 -2
  38. data/lib/doorkeeper/oauth/code_response.rb +17 -11
  39. data/lib/doorkeeper/oauth/error_response.rb +4 -3
  40. data/lib/doorkeeper/oauth/helpers/scope_checker.rb +1 -3
  41. data/lib/doorkeeper/oauth/password_access_token_request.rb +21 -2
  42. data/lib/doorkeeper/oauth/pre_authorization.rb +37 -11
  43. data/lib/doorkeeper/oauth/refresh_token_request.rb +13 -0
  44. data/lib/doorkeeper/oauth/token.rb +4 -5
  45. data/lib/doorkeeper/oauth/token_introspection.rb +1 -5
  46. data/lib/doorkeeper/oauth/token_request.rb +1 -1
  47. data/lib/doorkeeper/orm/active_record.rb +5 -6
  48. data/lib/doorkeeper/orm/active_record/mixins/access_grant.rb +12 -2
  49. data/lib/doorkeeper/orm/active_record/mixins/access_token.rb +10 -2
  50. data/lib/doorkeeper/orm/active_record/mixins/application.rb +76 -10
  51. data/lib/doorkeeper/orm/active_record/redirect_uri_validator.rb +5 -0
  52. data/lib/doorkeeper/rails/routes.rb +1 -3
  53. data/lib/doorkeeper/rake/db.rake +3 -3
  54. data/lib/doorkeeper/rake/setup.rake +5 -0
  55. data/lib/doorkeeper/request.rb +49 -12
  56. data/lib/doorkeeper/request/refresh_token.rb +2 -1
  57. data/lib/doorkeeper/server.rb +1 -1
  58. data/lib/doorkeeper/stale_records_cleaner.rb +4 -4
  59. data/lib/doorkeeper/version.rb +2 -6
  60. data/lib/generators/doorkeeper/templates/add_owner_to_application_migration.rb.erb +1 -1
  61. data/lib/generators/doorkeeper/templates/initializer.rb +9 -7
  62. data/lib/generators/doorkeeper/templates/migration.rb.erb +12 -5
  63. metadata +25 -306
  64. data/Appraisals +0 -26
  65. data/CODE_OF_CONDUCT.md +0 -46
  66. data/CONTRIBUTING.md +0 -49
  67. data/Dangerfile +0 -67
  68. data/Dockerfile +0 -29
  69. data/Gemfile +0 -25
  70. data/NEWS.md +0 -1
  71. data/RELEASING.md +0 -11
  72. data/Rakefile +0 -28
  73. data/SECURITY.md +0 -15
  74. data/UPGRADE.md +0 -2
  75. data/bin/console +0 -30
  76. data/doorkeeper.gemspec +0 -42
  77. data/gemfiles/rails_5_0.gemfile +0 -19
  78. data/gemfiles/rails_5_1.gemfile +0 -19
  79. data/gemfiles/rails_5_2.gemfile +0 -19
  80. data/gemfiles/rails_6_0.gemfile +0 -19
  81. data/gemfiles/rails_master.gemfile +0 -19
  82. data/spec/controllers/application_metal_controller_spec.rb +0 -64
  83. data/spec/controllers/applications_controller_spec.rb +0 -274
  84. data/spec/controllers/authorizations_controller_spec.rb +0 -743
  85. data/spec/controllers/protected_resources_controller_spec.rb +0 -361
  86. data/spec/controllers/token_info_controller_spec.rb +0 -50
  87. data/spec/controllers/tokens_controller_spec.rb +0 -499
  88. data/spec/dummy/Rakefile +0 -9
  89. data/spec/dummy/app/assets/config/manifest.js +0 -2
  90. data/spec/dummy/app/controllers/application_controller.rb +0 -5
  91. data/spec/dummy/app/controllers/custom_authorizations_controller.rb +0 -9
  92. data/spec/dummy/app/controllers/full_protected_resources_controller.rb +0 -14
  93. data/spec/dummy/app/controllers/home_controller.rb +0 -18
  94. data/spec/dummy/app/controllers/metal_controller.rb +0 -13
  95. data/spec/dummy/app/controllers/semi_protected_resources_controller.rb +0 -13
  96. data/spec/dummy/app/helpers/application_helper.rb +0 -7
  97. data/spec/dummy/app/models/user.rb +0 -11
  98. data/spec/dummy/app/views/home/index.html.erb +0 -0
  99. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  100. data/spec/dummy/config.ru +0 -6
  101. data/spec/dummy/config/application.rb +0 -51
  102. data/spec/dummy/config/boot.rb +0 -7
  103. data/spec/dummy/config/database.yml +0 -15
  104. data/spec/dummy/config/environment.rb +0 -5
  105. data/spec/dummy/config/environments/development.rb +0 -31
  106. data/spec/dummy/config/environments/production.rb +0 -64
  107. data/spec/dummy/config/environments/test.rb +0 -45
  108. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -9
  109. data/spec/dummy/config/initializers/doorkeeper.rb +0 -166
  110. data/spec/dummy/config/initializers/secret_token.rb +0 -10
  111. data/spec/dummy/config/initializers/session_store.rb +0 -10
  112. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -16
  113. data/spec/dummy/config/locales/doorkeeper.en.yml +0 -5
  114. data/spec/dummy/config/routes.rb +0 -13
  115. data/spec/dummy/db/migrate/20111122132257_create_users.rb +0 -11
  116. data/spec/dummy/db/migrate/20120312140401_add_password_to_users.rb +0 -7
  117. data/spec/dummy/db/migrate/20151223192035_create_doorkeeper_tables.rb +0 -69
  118. data/spec/dummy/db/migrate/20151223200000_add_owner_to_application.rb +0 -9
  119. data/spec/dummy/db/migrate/20160320211015_add_previous_refresh_token_to_access_tokens.rb +0 -13
  120. data/spec/dummy/db/migrate/20170822064514_enable_pkce.rb +0 -8
  121. data/spec/dummy/db/migrate/20180210183654_add_confidential_to_applications.rb +0 -13
  122. data/spec/dummy/db/schema.rb +0 -70
  123. data/spec/dummy/public/404.html +0 -26
  124. data/spec/dummy/public/422.html +0 -26
  125. data/spec/dummy/public/500.html +0 -26
  126. data/spec/dummy/public/favicon.ico +0 -0
  127. data/spec/dummy/script/rails +0 -9
  128. data/spec/factories.rb +0 -30
  129. data/spec/generators/application_owner_generator_spec.rb +0 -28
  130. data/spec/generators/confidential_applications_generator_spec.rb +0 -29
  131. data/spec/generators/enable_polymorphic_resource_owner_generator_spec.rb +0 -47
  132. data/spec/generators/install_generator_spec.rb +0 -36
  133. data/spec/generators/migration_generator_spec.rb +0 -28
  134. data/spec/generators/pkce_generator_spec.rb +0 -28
  135. data/spec/generators/previous_refresh_token_generator_spec.rb +0 -44
  136. data/spec/generators/templates/routes.rb +0 -4
  137. data/spec/generators/views_generator_spec.rb +0 -29
  138. data/spec/grape/grape_integration_spec.rb +0 -137
  139. data/spec/helpers/doorkeeper/dashboard_helper_spec.rb +0 -26
  140. data/spec/lib/config_spec.rb +0 -813
  141. data/spec/lib/doorkeeper_spec.rb +0 -27
  142. data/spec/lib/models/expirable_spec.rb +0 -61
  143. data/spec/lib/models/reusable_spec.rb +0 -40
  144. data/spec/lib/models/revocable_spec.rb +0 -58
  145. data/spec/lib/models/scopes_spec.rb +0 -61
  146. data/spec/lib/models/secret_storable_spec.rb +0 -135
  147. data/spec/lib/oauth/authorization/uri_builder_spec.rb +0 -39
  148. data/spec/lib/oauth/authorization_code_request_spec.rb +0 -180
  149. data/spec/lib/oauth/base_request_spec.rb +0 -210
  150. data/spec/lib/oauth/base_response_spec.rb +0 -45
  151. data/spec/lib/oauth/client/credentials_spec.rb +0 -90
  152. data/spec/lib/oauth/client_credentials/creator_spec.rb +0 -135
  153. data/spec/lib/oauth/client_credentials/issuer_spec.rb +0 -110
  154. data/spec/lib/oauth/client_credentials/validation_spec.rb +0 -57
  155. data/spec/lib/oauth/client_credentials_integration_spec.rb +0 -27
  156. data/spec/lib/oauth/client_credentials_request_spec.rb +0 -108
  157. data/spec/lib/oauth/client_spec.rb +0 -38
  158. data/spec/lib/oauth/code_request_spec.rb +0 -46
  159. data/spec/lib/oauth/code_response_spec.rb +0 -36
  160. data/spec/lib/oauth/error_response_spec.rb +0 -64
  161. data/spec/lib/oauth/error_spec.rb +0 -21
  162. data/spec/lib/oauth/forbidden_token_response_spec.rb +0 -20
  163. data/spec/lib/oauth/helpers/scope_checker_spec.rb +0 -110
  164. data/spec/lib/oauth/helpers/unique_token_spec.rb +0 -21
  165. data/spec/lib/oauth/helpers/uri_checker_spec.rb +0 -262
  166. data/spec/lib/oauth/invalid_request_response_spec.rb +0 -73
  167. data/spec/lib/oauth/invalid_token_response_spec.rb +0 -53
  168. data/spec/lib/oauth/password_access_token_request_spec.rb +0 -201
  169. data/spec/lib/oauth/pre_authorization_spec.rb +0 -218
  170. data/spec/lib/oauth/refresh_token_request_spec.rb +0 -166
  171. data/spec/lib/oauth/scopes_spec.rb +0 -146
  172. data/spec/lib/oauth/token_request_spec.rb +0 -164
  173. data/spec/lib/oauth/token_response_spec.rb +0 -84
  174. data/spec/lib/oauth/token_spec.rb +0 -156
  175. data/spec/lib/option_spec.rb +0 -51
  176. data/spec/lib/request/strategy_spec.rb +0 -54
  177. data/spec/lib/secret_storing/base_spec.rb +0 -60
  178. data/spec/lib/secret_storing/bcrypt_spec.rb +0 -49
  179. data/spec/lib/secret_storing/plain_spec.rb +0 -44
  180. data/spec/lib/secret_storing/sha256_hash_spec.rb +0 -48
  181. data/spec/lib/server_spec.rb +0 -49
  182. data/spec/lib/stale_records_cleaner_spec.rb +0 -102
  183. data/spec/models/doorkeeper/access_grant_spec.rb +0 -175
  184. data/spec/models/doorkeeper/access_token_spec.rb +0 -650
  185. data/spec/models/doorkeeper/application_spec.rb +0 -442
  186. data/spec/requests/applications/applications_request_spec.rb +0 -259
  187. data/spec/requests/applications/authorized_applications_spec.rb +0 -32
  188. data/spec/requests/endpoints/authorization_spec.rb +0 -91
  189. data/spec/requests/endpoints/token_spec.rb +0 -79
  190. data/spec/requests/flows/authorization_code_errors_spec.rb +0 -82
  191. data/spec/requests/flows/authorization_code_spec.rb +0 -530
  192. data/spec/requests/flows/client_credentials_spec.rb +0 -207
  193. data/spec/requests/flows/implicit_grant_errors_spec.rb +0 -46
  194. data/spec/requests/flows/implicit_grant_spec.rb +0 -91
  195. data/spec/requests/flows/password_spec.rb +0 -316
  196. data/spec/requests/flows/refresh_token_spec.rb +0 -241
  197. data/spec/requests/flows/revoke_token_spec.rb +0 -196
  198. data/spec/requests/flows/skip_authorization_spec.rb +0 -66
  199. data/spec/requests/protected_resources/metal_spec.rb +0 -16
  200. data/spec/requests/protected_resources/private_api_spec.rb +0 -83
  201. data/spec/routing/custom_controller_routes_spec.rb +0 -133
  202. data/spec/routing/default_routes_spec.rb +0 -41
  203. data/spec/routing/scoped_routes_spec.rb +0 -47
  204. data/spec/spec_helper.rb +0 -54
  205. data/spec/spec_helper_integration.rb +0 -4
  206. data/spec/support/dependencies/factory_bot.rb +0 -4
  207. data/spec/support/doorkeeper_rspec.rb +0 -22
  208. data/spec/support/helpers/access_token_request_helper.rb +0 -14
  209. data/spec/support/helpers/authorization_request_helper.rb +0 -43
  210. data/spec/support/helpers/config_helper.rb +0 -11
  211. data/spec/support/helpers/model_helper.rb +0 -78
  212. data/spec/support/helpers/request_spec_helper.rb +0 -110
  213. data/spec/support/helpers/url_helper.rb +0 -62
  214. data/spec/support/orm/active_record.rb +0 -5
  215. data/spec/support/shared/controllers_shared_context.rb +0 -133
  216. data/spec/support/shared/hashing_shared_context.rb +0 -36
  217. data/spec/support/shared/models_shared_examples.rb +0 -56
  218. data/spec/validators/redirect_uri_validator_spec.rb +0 -183
  219. data/spec/version/version_spec.rb +0 -17
@@ -21,6 +21,7 @@ module Doorkeeper
21
21
  record.errors.add(attribute, :unspecified_scheme) if unspecified_scheme?(uri)
22
22
  record.errors.add(attribute, :relative_uri) if relative_uri?(uri)
23
23
  record.errors.add(attribute, :secured_uri) if invalid_ssl_uri?(uri)
24
+ record.errors.add(attribute, :invalid_uri) if unspecified_host?(uri)
24
25
  end
25
26
  end
26
27
  rescue URI::InvalidURIError
@@ -43,6 +44,10 @@ module Doorkeeper
43
44
  %w[localhost].include?(uri.try(:scheme))
44
45
  end
45
46
 
47
+ def unspecified_host?(uri)
48
+ uri.is_a?(URI::HTTP) && uri.host.nil?
49
+ end
50
+
46
51
  def relative_uri?(uri)
47
52
  uri.scheme.nil? && uri.host.nil?
48
53
  end
@@ -29,8 +29,6 @@ module Doorkeeper
29
29
 
30
30
  def initialize(routes, mapper = Mapper.new, &block)
31
31
  super
32
-
33
- @mapping.skips.push(:applications, :authorized_applications) if Doorkeeper.config.api_only
34
32
  end
35
33
 
36
34
  def generate_routes!(options)
@@ -38,7 +36,7 @@ module Doorkeeper
38
36
  map_route(:authorizations, :authorization_routes)
39
37
  map_route(:tokens, :token_routes)
40
38
  map_route(:tokens, :revoke_routes)
41
- map_route(:tokens, :introspect_routes)
39
+ map_route(:tokens, :introspect_routes) unless Doorkeeper.config.allow_token_introspection.is_a?(FalseClass)
42
40
  map_route(:applications, :application_routes)
43
41
  map_route(:authorized_applications, :authorized_applications_routes)
44
42
  map_route(:token_info, :token_info_routes)
@@ -13,7 +13,7 @@ namespace :doorkeeper do
13
13
  namespace :cleanup do
14
14
  desc "Removes stale access tokens"
15
15
  task revoked_tokens: "doorkeeper:setup" do
16
- cleaner = Doorkeeper::StaleRecordsCleaner.new(Doorkeeper::AccessToken)
16
+ cleaner = Doorkeeper::StaleRecordsCleaner.new(Doorkeeper.config.access_token_model)
17
17
  cleaner.clean_revoked
18
18
  end
19
19
 
@@ -26,13 +26,13 @@ namespace :doorkeeper do
26
26
 
27
27
  desc "Removes stale access grants"
28
28
  task revoked_grants: "doorkeeper:setup" do
29
- cleaner = Doorkeeper::StaleRecordsCleaner.new(Doorkeeper::AccessGrant)
29
+ cleaner = Doorkeeper::StaleRecordsCleaner.new(Doorkeeper.config.access_grant_model)
30
30
  cleaner.clean_revoked
31
31
  end
32
32
 
33
33
  desc "Removes expired (TTL passed) access grants"
34
34
  task expired_grants: "doorkeeper:setup" do
35
- cleaner = Doorkeeper::StaleRecordsCleaner.new(Doorkeeper::AccessGrant)
35
+ cleaner = Doorkeeper::StaleRecordsCleaner.new(Doorkeeper.config.access_grant_model)
36
36
  cleaner.clean_expired(Doorkeeper.config.authorization_code_expires_in)
37
37
  end
38
38
  end
@@ -2,5 +2,10 @@
2
2
 
3
3
  namespace :doorkeeper do
4
4
  task setup: :environment do
5
+ # Dirty hack to manually initialize AR because of lazy auto-loading,
6
+ # in other case we'll see NameError: uninitialized constant Doorkeeper::AccessToken
7
+ if Doorkeeper.config.orm == :active_record && defined?(::ActiveRecord::Base)
8
+ Object.const_get("::ActiveRecord::Base")
9
+ end
5
10
  end
6
11
  end
@@ -4,32 +4,69 @@ module Doorkeeper
4
4
  module Request
5
5
  class << self
6
6
  def authorization_strategy(response_type)
7
- build_strategy_class(response_type)
7
+ grant_flow = authorization_flows.detect do |flow|
8
+ flow.matches_response_type?(response_type)
9
+ end
10
+
11
+ if grant_flow
12
+ grant_flow.response_type_strategy
13
+ else
14
+ # [NOTE]: this will be removed in a newer versions of Doorkeeper.
15
+ # For retro-compatibility only
16
+ build_fallback_strategy_class(response_type)
17
+ end
8
18
  end
9
19
 
10
20
  def token_strategy(grant_type)
11
21
  raise Errors::MissingRequiredParameter, :grant_type if grant_type.blank?
12
22
 
13
- get_strategy(grant_type, token_grant_types)
14
- rescue NameError
15
- raise Errors::InvalidTokenStrategy
16
- end
23
+ grant_flow = token_flows.detect do |flow|
24
+ flow.matches_grant_type?(grant_type)
25
+ end
17
26
 
18
- def get_strategy(grant_type, available)
19
- raise NameError unless available.include?(grant_type.to_s)
27
+ if grant_flow
28
+ grant_flow.grant_type_strategy
29
+ else
30
+ # [NOTE]: this will be removed in a newer versions of Doorkeeper.
31
+ # For retro-compatibility only
32
+ raise Errors::InvalidTokenStrategy unless available.include?(grant_type.to_s)
20
33
 
21
- build_strategy_class(grant_type)
34
+ strategy_class = build_fallback_strategy_class(grant_type)
35
+ raise Errors::InvalidTokenStrategy unless strategy_class
36
+
37
+ strategy_class
38
+ end
22
39
  end
23
40
 
24
41
  private
25
42
 
26
- def token_grant_types
27
- Doorkeeper.config.token_grant_types
43
+ def authorization_flows
44
+ Doorkeeper.configuration.authorization_response_flows
45
+ end
46
+
47
+ def token_flows
48
+ Doorkeeper.configuration.token_grant_flows
28
49
  end
29
50
 
30
- def build_strategy_class(grant_or_request_type)
51
+ # [NOTE]: this will be removed in a newer versions of Doorkeeper.
52
+ # For retro-compatibility only
53
+ def available
54
+ Doorkeeper.config.deprecated_token_grant_types_resolver
55
+ end
56
+
57
+ def build_fallback_strategy_class(grant_or_request_type)
31
58
  strategy_class_name = grant_or_request_type.to_s.tr(" ", "_").camelize
32
- "Doorkeeper::Request::#{strategy_class_name}".constantize
59
+ fallback_strategy = "Doorkeeper::Request::#{strategy_class_name}".constantize
60
+
61
+ ::Kernel.warn <<~WARNING
62
+ [DOORKEEPER] #{fallback_strategy} found using fallback, it must be
63
+ registered using `Doorkeeper::GrantFlow.register(grant_flow_name, **options)`.
64
+ This functionality will be removed in a newer versions of Doorkeeper.
65
+ WARNING
66
+
67
+ fallback_strategy
68
+ rescue NameError
69
+ raise Errors::InvalidTokenStrategy
33
70
  end
34
71
  end
35
72
  end
@@ -12,7 +12,8 @@ module Doorkeeper
12
12
  def request
13
13
  @request ||= OAuth::RefreshTokenRequest.new(
14
14
  Doorkeeper.config,
15
- refresh_token, credentials,
15
+ refresh_token,
16
+ credentials,
16
17
  parameters,
17
18
  )
18
19
  end
@@ -4,7 +4,7 @@ module Doorkeeper
4
4
  class Server
5
5
  attr_reader :context
6
6
 
7
- def initialize(context = nil)
7
+ def initialize(context)
8
8
  @context = context
9
9
  end
10
10
 
@@ -13,12 +13,12 @@ module Doorkeeper
13
13
  raise Doorkeeper::Errors::NoOrmCleaner, "'#{configured_orm}' ORM has no cleaner!"
14
14
  end
15
15
 
16
- def self.configured_orm
17
- Doorkeeper.config.orm
18
- end
19
-
20
16
  def self.new(base_scope)
21
17
  self.for(base_scope)
22
18
  end
19
+
20
+ def self.configured_orm
21
+ Doorkeeper.config.orm
22
+ end
23
23
  end
24
24
  end
@@ -1,16 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Doorkeeper
4
- def self.gem_version
5
- Gem::Version.new VERSION::STRING
6
- end
7
-
8
4
  module VERSION
9
5
  # Semantic versioning
10
6
  MAJOR = 5
11
- MINOR = 4
7
+ MINOR = 5
12
8
  TINY = 0
13
- PRE = "rc1"
9
+ PRE = nil
14
10
 
15
11
  # Full version number
16
12
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
@@ -2,7 +2,7 @@
2
2
 
3
3
  class AddOwnerToApplication < ActiveRecord::Migration<%= migration_version %>
4
4
  def change
5
- add_column :oauth_applications, :owner_id, :integer, null: true
5
+ add_column :oauth_applications, :owner_id, :bigint, null: true
6
6
  add_column :oauth_applications, :owner_type, :string, null: true
7
7
  add_index :oauth_applications, [:owner_id, :owner_type]
8
8
  end
@@ -103,12 +103,13 @@ Doorkeeper.configure do
103
103
  #
104
104
  # `context` has the following properties available:
105
105
  #
106
- # `client` - the OAuth client application (see Doorkeeper::OAuth::Client)
107
- # `grant_type` - the grant type of the request (see Doorkeeper::OAuth)
108
- # `scopes` - the requested scopes (see Doorkeeper::OAuth::Scopes)
106
+ # * `client` - the OAuth client application (see Doorkeeper::OAuth::Client)
107
+ # * `grant_type` - the grant type of the request (see Doorkeeper::OAuth)
108
+ # * `scopes` - the requested scopes (see Doorkeeper::OAuth::Scopes)
109
+ # * `resource_owner` - authorized resource owner instance (if present)
109
110
  #
110
111
  # custom_access_token_expires_in do |context|
111
- # context.client.application.additional_settings.implicit_oauth_expiration
112
+ # context.client.additional_settings.implicit_oauth_expiration
112
113
  # end
113
114
 
114
115
  # Use a custom class for generating the access token.
@@ -167,8 +168,7 @@ Doorkeeper.configure do
167
168
  # since plain values can no longer be retrieved.
168
169
  #
169
170
  # Note: If you are already a user of doorkeeper and have existing tokens
170
- # in your installation, they will be invalid without enabling the additional
171
- # setting `fallback_to_plain_secrets` below.
171
+ # in your installation, they will be invalid without adding 'fallback: :plain'.
172
172
  #
173
173
  # hash_token_secrets
174
174
  # By default, token secrets will be hashed using the
@@ -202,7 +202,9 @@ Doorkeeper.configure do
202
202
  # This will ensure that old access tokens and secrets
203
203
  # will remain valid even if the hashing above is enabled.
204
204
  #
205
- # fallback_to_plain_secrets
205
+ # This can be done by adding 'fallback: plain', e.g. :
206
+ #
207
+ # hash_application_secrets using: '::Doorkeeper::SecretStoring::BCrypt', fallback: :plain
206
208
 
207
209
  # Issue access tokens with refresh token (disabled by default), you may also
208
210
  # pass a block which accepts `context` to customize when to give a refresh
@@ -57,12 +57,19 @@ class CreateDoorkeeperTables < ActiveRecord::Migration<%= migration_version %>
57
57
  t.datetime :created_at, null: false
58
58
  t.string :scopes
59
59
 
60
- # If there is a previous_refresh_token column,
60
+ # The authorization server MAY issue a new refresh token, in which case
61
+ # *the client MUST discard the old refresh token* and replace it with the
62
+ # new refresh token. The authorization server MAY revoke the old
63
+ # refresh token after issuing a new refresh token to the client.
64
+ # @see https://tools.ietf.org/html/rfc6749#section-6
65
+ #
66
+ # Doorkeeper implementation: if there is a `previous_refresh_token` column,
61
67
  # refresh tokens will be revoked after a related access token is used.
62
- # If there is no previous_refresh_token column,
63
- # previous tokens are revoked as soon as a new access token is created.
64
- # Comment out this line if you'd rather have refresh tokens
65
- # instantly revoked.
68
+ # If there is no `previous_refresh_token` column, previous tokens are
69
+ # revoked as soon as a new access token is created.
70
+ #
71
+ # Comment out this line if you want refresh tokens to be instantly
72
+ # revoked after use.
66
73
  t.string :previous_refresh_token, null: false, default: ""
67
74
  end
68
75
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: doorkeeper
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.0.rc1
4
+ version: 5.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felipe Elias Philipp
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2020-04-08 00:00:00.000000000 Z
14
+ date: 2021-02-19 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: railties
@@ -75,14 +75,14 @@ dependencies:
75
75
  requirements:
76
76
  - - "~>"
77
77
  - !ruby/object:Gem::Version
78
- version: '6.0'
78
+ version: '8.0'
79
79
  type: :development
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
82
82
  requirements:
83
83
  - - "~>"
84
84
  - !ruby/object:Gem::Version
85
- version: '6.0'
85
+ version: '8.0'
86
86
  - !ruby/object:Gem::Dependency
87
87
  name: database_cleaner
88
88
  requirement: !ruby/object:Gem::Requirement
@@ -103,14 +103,14 @@ dependencies:
103
103
  requirements:
104
104
  - - "~>"
105
105
  - !ruby/object:Gem::Version
106
- version: '5.0'
106
+ version: '6.0'
107
107
  type: :development
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
111
  - - "~>"
112
112
  - !ruby/object:Gem::Version
113
- version: '5.0'
113
+ version: '6.0'
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: generator_spec
116
116
  requirement: !ruby/object:Gem::Requirement
@@ -174,20 +174,9 @@ executables: []
174
174
  extensions: []
175
175
  extra_rdoc_files: []
176
176
  files:
177
- - Appraisals
178
177
  - CHANGELOG.md
179
- - CODE_OF_CONDUCT.md
180
- - CONTRIBUTING.md
181
- - Dangerfile
182
- - Dockerfile
183
- - Gemfile
184
178
  - MIT-LICENSE
185
- - NEWS.md
186
179
  - README.md
187
- - RELEASING.md
188
- - Rakefile
189
- - SECURITY.md
190
- - UPGRADE.md
191
180
  - app/assets/stylesheets/doorkeeper/admin/application.css
192
181
  - app/assets/stylesheets/doorkeeper/application.css
193
182
  - app/controllers/doorkeeper/application_controller.rb
@@ -205,26 +194,25 @@ files:
205
194
  - app/views/doorkeeper/applications/new.html.erb
206
195
  - app/views/doorkeeper/applications/show.html.erb
207
196
  - app/views/doorkeeper/authorizations/error.html.erb
197
+ - app/views/doorkeeper/authorizations/form_post.html.erb
208
198
  - app/views/doorkeeper/authorizations/new.html.erb
209
199
  - app/views/doorkeeper/authorizations/show.html.erb
210
200
  - app/views/doorkeeper/authorized_applications/_delete_form.html.erb
211
201
  - app/views/doorkeeper/authorized_applications/index.html.erb
212
202
  - app/views/layouts/doorkeeper/admin.html.erb
213
203
  - app/views/layouts/doorkeeper/application.html.erb
214
- - bin/console
215
204
  - config/locales/en.yml
216
- - doorkeeper.gemspec
217
- - gemfiles/rails_5_0.gemfile
218
- - gemfiles/rails_5_1.gemfile
219
- - gemfiles/rails_5_2.gemfile
220
- - gemfiles/rails_6_0.gemfile
221
- - gemfiles/rails_master.gemfile
222
205
  - lib/doorkeeper.rb
223
206
  - lib/doorkeeper/config.rb
224
207
  - lib/doorkeeper/config/abstract_builder.rb
225
208
  - lib/doorkeeper/config/option.rb
209
+ - lib/doorkeeper/config/validations.rb
226
210
  - lib/doorkeeper/engine.rb
227
211
  - lib/doorkeeper/errors.rb
212
+ - lib/doorkeeper/grant_flow.rb
213
+ - lib/doorkeeper/grant_flow/fallback_flow.rb
214
+ - lib/doorkeeper/grant_flow/flow.rb
215
+ - lib/doorkeeper/grant_flow/registry.rb
228
216
  - lib/doorkeeper/grape/authorization_decorator.rb
229
217
  - lib/doorkeeper/grape/helpers.rb
230
218
  - lib/doorkeeper/helpers/controller.rb
@@ -324,155 +312,24 @@ files:
324
312
  - lib/generators/doorkeeper/templates/initializer.rb
325
313
  - lib/generators/doorkeeper/templates/migration.rb.erb
326
314
  - lib/generators/doorkeeper/views_generator.rb
327
- - spec/controllers/application_metal_controller_spec.rb
328
- - spec/controllers/applications_controller_spec.rb
329
- - spec/controllers/authorizations_controller_spec.rb
330
- - spec/controllers/protected_resources_controller_spec.rb
331
- - spec/controllers/token_info_controller_spec.rb
332
- - spec/controllers/tokens_controller_spec.rb
333
- - spec/dummy/Rakefile
334
- - spec/dummy/app/assets/config/manifest.js
335
- - spec/dummy/app/controllers/application_controller.rb
336
- - spec/dummy/app/controllers/custom_authorizations_controller.rb
337
- - spec/dummy/app/controllers/full_protected_resources_controller.rb
338
- - spec/dummy/app/controllers/home_controller.rb
339
- - spec/dummy/app/controllers/metal_controller.rb
340
- - spec/dummy/app/controllers/semi_protected_resources_controller.rb
341
- - spec/dummy/app/helpers/application_helper.rb
342
- - spec/dummy/app/models/user.rb
343
- - spec/dummy/app/views/home/index.html.erb
344
- - spec/dummy/app/views/layouts/application.html.erb
345
- - spec/dummy/config.ru
346
- - spec/dummy/config/application.rb
347
- - spec/dummy/config/boot.rb
348
- - spec/dummy/config/database.yml
349
- - spec/dummy/config/environment.rb
350
- - spec/dummy/config/environments/development.rb
351
- - spec/dummy/config/environments/production.rb
352
- - spec/dummy/config/environments/test.rb
353
- - spec/dummy/config/initializers/backtrace_silencers.rb
354
- - spec/dummy/config/initializers/doorkeeper.rb
355
- - spec/dummy/config/initializers/secret_token.rb
356
- - spec/dummy/config/initializers/session_store.rb
357
- - spec/dummy/config/initializers/wrap_parameters.rb
358
- - spec/dummy/config/locales/doorkeeper.en.yml
359
- - spec/dummy/config/routes.rb
360
- - spec/dummy/db/migrate/20111122132257_create_users.rb
361
- - spec/dummy/db/migrate/20120312140401_add_password_to_users.rb
362
- - spec/dummy/db/migrate/20151223192035_create_doorkeeper_tables.rb
363
- - spec/dummy/db/migrate/20151223200000_add_owner_to_application.rb
364
- - spec/dummy/db/migrate/20160320211015_add_previous_refresh_token_to_access_tokens.rb
365
- - spec/dummy/db/migrate/20170822064514_enable_pkce.rb
366
- - spec/dummy/db/migrate/20180210183654_add_confidential_to_applications.rb
367
- - spec/dummy/db/schema.rb
368
- - spec/dummy/public/404.html
369
- - spec/dummy/public/422.html
370
- - spec/dummy/public/500.html
371
- - spec/dummy/public/favicon.ico
372
- - spec/dummy/script/rails
373
- - spec/factories.rb
374
- - spec/generators/application_owner_generator_spec.rb
375
- - spec/generators/confidential_applications_generator_spec.rb
376
- - spec/generators/enable_polymorphic_resource_owner_generator_spec.rb
377
- - spec/generators/install_generator_spec.rb
378
- - spec/generators/migration_generator_spec.rb
379
- - spec/generators/pkce_generator_spec.rb
380
- - spec/generators/previous_refresh_token_generator_spec.rb
381
- - spec/generators/templates/routes.rb
382
- - spec/generators/views_generator_spec.rb
383
- - spec/grape/grape_integration_spec.rb
384
- - spec/helpers/doorkeeper/dashboard_helper_spec.rb
385
- - spec/lib/config_spec.rb
386
- - spec/lib/doorkeeper_spec.rb
387
- - spec/lib/models/expirable_spec.rb
388
- - spec/lib/models/reusable_spec.rb
389
- - spec/lib/models/revocable_spec.rb
390
- - spec/lib/models/scopes_spec.rb
391
- - spec/lib/models/secret_storable_spec.rb
392
- - spec/lib/oauth/authorization/uri_builder_spec.rb
393
- - spec/lib/oauth/authorization_code_request_spec.rb
394
- - spec/lib/oauth/base_request_spec.rb
395
- - spec/lib/oauth/base_response_spec.rb
396
- - spec/lib/oauth/client/credentials_spec.rb
397
- - spec/lib/oauth/client_credentials/creator_spec.rb
398
- - spec/lib/oauth/client_credentials/issuer_spec.rb
399
- - spec/lib/oauth/client_credentials/validation_spec.rb
400
- - spec/lib/oauth/client_credentials_integration_spec.rb
401
- - spec/lib/oauth/client_credentials_request_spec.rb
402
- - spec/lib/oauth/client_spec.rb
403
- - spec/lib/oauth/code_request_spec.rb
404
- - spec/lib/oauth/code_response_spec.rb
405
- - spec/lib/oauth/error_response_spec.rb
406
- - spec/lib/oauth/error_spec.rb
407
- - spec/lib/oauth/forbidden_token_response_spec.rb
408
- - spec/lib/oauth/helpers/scope_checker_spec.rb
409
- - spec/lib/oauth/helpers/unique_token_spec.rb
410
- - spec/lib/oauth/helpers/uri_checker_spec.rb
411
- - spec/lib/oauth/invalid_request_response_spec.rb
412
- - spec/lib/oauth/invalid_token_response_spec.rb
413
- - spec/lib/oauth/password_access_token_request_spec.rb
414
- - spec/lib/oauth/pre_authorization_spec.rb
415
- - spec/lib/oauth/refresh_token_request_spec.rb
416
- - spec/lib/oauth/scopes_spec.rb
417
- - spec/lib/oauth/token_request_spec.rb
418
- - spec/lib/oauth/token_response_spec.rb
419
- - spec/lib/oauth/token_spec.rb
420
- - spec/lib/option_spec.rb
421
- - spec/lib/request/strategy_spec.rb
422
- - spec/lib/secret_storing/base_spec.rb
423
- - spec/lib/secret_storing/bcrypt_spec.rb
424
- - spec/lib/secret_storing/plain_spec.rb
425
- - spec/lib/secret_storing/sha256_hash_spec.rb
426
- - spec/lib/server_spec.rb
427
- - spec/lib/stale_records_cleaner_spec.rb
428
- - spec/models/doorkeeper/access_grant_spec.rb
429
- - spec/models/doorkeeper/access_token_spec.rb
430
- - spec/models/doorkeeper/application_spec.rb
431
- - spec/requests/applications/applications_request_spec.rb
432
- - spec/requests/applications/authorized_applications_spec.rb
433
- - spec/requests/endpoints/authorization_spec.rb
434
- - spec/requests/endpoints/token_spec.rb
435
- - spec/requests/flows/authorization_code_errors_spec.rb
436
- - spec/requests/flows/authorization_code_spec.rb
437
- - spec/requests/flows/client_credentials_spec.rb
438
- - spec/requests/flows/implicit_grant_errors_spec.rb
439
- - spec/requests/flows/implicit_grant_spec.rb
440
- - spec/requests/flows/password_spec.rb
441
- - spec/requests/flows/refresh_token_spec.rb
442
- - spec/requests/flows/revoke_token_spec.rb
443
- - spec/requests/flows/skip_authorization_spec.rb
444
- - spec/requests/protected_resources/metal_spec.rb
445
- - spec/requests/protected_resources/private_api_spec.rb
446
- - spec/routing/custom_controller_routes_spec.rb
447
- - spec/routing/default_routes_spec.rb
448
- - spec/routing/scoped_routes_spec.rb
449
- - spec/spec_helper.rb
450
- - spec/spec_helper_integration.rb
451
- - spec/support/dependencies/factory_bot.rb
452
- - spec/support/doorkeeper_rspec.rb
453
- - spec/support/helpers/access_token_request_helper.rb
454
- - spec/support/helpers/authorization_request_helper.rb
455
- - spec/support/helpers/config_helper.rb
456
- - spec/support/helpers/model_helper.rb
457
- - spec/support/helpers/request_spec_helper.rb
458
- - spec/support/helpers/url_helper.rb
459
- - spec/support/orm/active_record.rb
460
- - spec/support/shared/controllers_shared_context.rb
461
- - spec/support/shared/hashing_shared_context.rb
462
- - spec/support/shared/models_shared_examples.rb
463
- - spec/validators/redirect_uri_validator_spec.rb
464
- - spec/version/version_spec.rb
465
315
  - vendor/assets/stylesheets/doorkeeper/bootstrap.min.css
466
316
  homepage: https://github.com/doorkeeper-gem/doorkeeper
467
317
  licenses:
468
318
  - MIT
469
319
  metadata:
470
320
  homepage_uri: https://github.com/doorkeeper-gem/doorkeeper
471
- changelog_uri: https://github.com/doorkeeper-gem/doorkeeper/blob/master/CHANGELOG.md
321
+ changelog_uri: https://github.com/doorkeeper-gem/doorkeeper/blob/main/CHANGELOG.md
472
322
  source_code_uri: https://github.com/doorkeeper-gem/doorkeeper
473
323
  bug_tracker_uri: https://github.com/doorkeeper-gem/doorkeeper/issues
474
324
  documentation_uri: https://doorkeeper.gitbook.io/guides/
475
- post_install_message:
325
+ post_install_message: "Starting from 5.5.0 RC1 Doorkeeper requires client authentication
326
+ for Resource Owner Password Grant\nas stated in the OAuth RFC. You have to create
327
+ a new OAuth client (Doorkeeper::Application) if you didn't\nhave it before and use
328
+ client credentials in HTTP Basic auth if you previously used this grant flow without\nclient
329
+ authentication. \n\nTo opt out of this you could set the \"skip_client_authentication_for_password_grant\"
330
+ configuration option\nto \"true\", but note that this is in violation of the OAuth
331
+ spec and represents a security risk.\n\nRead https://github.com/doorkeeper-gem/doorkeeper/issues/561#issuecomment-612857163
332
+ for more details."
476
333
  rdoc_options: []
477
334
  require_paths:
478
335
  - lib
@@ -483,150 +340,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
483
340
  version: '2.4'
484
341
  required_rubygems_version: !ruby/object:Gem::Requirement
485
342
  requirements:
486
- - - ">"
343
+ - - ">="
487
344
  - !ruby/object:Gem::Version
488
- version: 1.3.1
345
+ version: '0'
489
346
  requirements: []
490
- rubygems_version: 3.0.2
347
+ rubygems_version: 3.1.2
491
348
  signing_key:
492
349
  specification_version: 4
493
350
  summary: OAuth 2 provider for Rails and Grape
494
- test_files:
495
- - spec/controllers/application_metal_controller_spec.rb
496
- - spec/controllers/applications_controller_spec.rb
497
- - spec/controllers/authorizations_controller_spec.rb
498
- - spec/controllers/protected_resources_controller_spec.rb
499
- - spec/controllers/token_info_controller_spec.rb
500
- - spec/controllers/tokens_controller_spec.rb
501
- - spec/dummy/Rakefile
502
- - spec/dummy/app/assets/config/manifest.js
503
- - spec/dummy/app/controllers/application_controller.rb
504
- - spec/dummy/app/controllers/custom_authorizations_controller.rb
505
- - spec/dummy/app/controllers/full_protected_resources_controller.rb
506
- - spec/dummy/app/controllers/home_controller.rb
507
- - spec/dummy/app/controllers/metal_controller.rb
508
- - spec/dummy/app/controllers/semi_protected_resources_controller.rb
509
- - spec/dummy/app/helpers/application_helper.rb
510
- - spec/dummy/app/models/user.rb
511
- - spec/dummy/app/views/home/index.html.erb
512
- - spec/dummy/app/views/layouts/application.html.erb
513
- - spec/dummy/config.ru
514
- - spec/dummy/config/application.rb
515
- - spec/dummy/config/boot.rb
516
- - spec/dummy/config/database.yml
517
- - spec/dummy/config/environment.rb
518
- - spec/dummy/config/environments/development.rb
519
- - spec/dummy/config/environments/production.rb
520
- - spec/dummy/config/environments/test.rb
521
- - spec/dummy/config/initializers/backtrace_silencers.rb
522
- - spec/dummy/config/initializers/doorkeeper.rb
523
- - spec/dummy/config/initializers/secret_token.rb
524
- - spec/dummy/config/initializers/session_store.rb
525
- - spec/dummy/config/initializers/wrap_parameters.rb
526
- - spec/dummy/config/locales/doorkeeper.en.yml
527
- - spec/dummy/config/routes.rb
528
- - spec/dummy/db/migrate/20111122132257_create_users.rb
529
- - spec/dummy/db/migrate/20120312140401_add_password_to_users.rb
530
- - spec/dummy/db/migrate/20151223192035_create_doorkeeper_tables.rb
531
- - spec/dummy/db/migrate/20151223200000_add_owner_to_application.rb
532
- - spec/dummy/db/migrate/20160320211015_add_previous_refresh_token_to_access_tokens.rb
533
- - spec/dummy/db/migrate/20170822064514_enable_pkce.rb
534
- - spec/dummy/db/migrate/20180210183654_add_confidential_to_applications.rb
535
- - spec/dummy/db/schema.rb
536
- - spec/dummy/public/404.html
537
- - spec/dummy/public/422.html
538
- - spec/dummy/public/500.html
539
- - spec/dummy/public/favicon.ico
540
- - spec/dummy/script/rails
541
- - spec/factories.rb
542
- - spec/generators/application_owner_generator_spec.rb
543
- - spec/generators/confidential_applications_generator_spec.rb
544
- - spec/generators/enable_polymorphic_resource_owner_generator_spec.rb
545
- - spec/generators/install_generator_spec.rb
546
- - spec/generators/migration_generator_spec.rb
547
- - spec/generators/pkce_generator_spec.rb
548
- - spec/generators/previous_refresh_token_generator_spec.rb
549
- - spec/generators/templates/routes.rb
550
- - spec/generators/views_generator_spec.rb
551
- - spec/grape/grape_integration_spec.rb
552
- - spec/helpers/doorkeeper/dashboard_helper_spec.rb
553
- - spec/lib/config_spec.rb
554
- - spec/lib/doorkeeper_spec.rb
555
- - spec/lib/models/expirable_spec.rb
556
- - spec/lib/models/reusable_spec.rb
557
- - spec/lib/models/revocable_spec.rb
558
- - spec/lib/models/scopes_spec.rb
559
- - spec/lib/models/secret_storable_spec.rb
560
- - spec/lib/oauth/authorization/uri_builder_spec.rb
561
- - spec/lib/oauth/authorization_code_request_spec.rb
562
- - spec/lib/oauth/base_request_spec.rb
563
- - spec/lib/oauth/base_response_spec.rb
564
- - spec/lib/oauth/client/credentials_spec.rb
565
- - spec/lib/oauth/client_credentials/creator_spec.rb
566
- - spec/lib/oauth/client_credentials/issuer_spec.rb
567
- - spec/lib/oauth/client_credentials/validation_spec.rb
568
- - spec/lib/oauth/client_credentials_integration_spec.rb
569
- - spec/lib/oauth/client_credentials_request_spec.rb
570
- - spec/lib/oauth/client_spec.rb
571
- - spec/lib/oauth/code_request_spec.rb
572
- - spec/lib/oauth/code_response_spec.rb
573
- - spec/lib/oauth/error_response_spec.rb
574
- - spec/lib/oauth/error_spec.rb
575
- - spec/lib/oauth/forbidden_token_response_spec.rb
576
- - spec/lib/oauth/helpers/scope_checker_spec.rb
577
- - spec/lib/oauth/helpers/unique_token_spec.rb
578
- - spec/lib/oauth/helpers/uri_checker_spec.rb
579
- - spec/lib/oauth/invalid_request_response_spec.rb
580
- - spec/lib/oauth/invalid_token_response_spec.rb
581
- - spec/lib/oauth/password_access_token_request_spec.rb
582
- - spec/lib/oauth/pre_authorization_spec.rb
583
- - spec/lib/oauth/refresh_token_request_spec.rb
584
- - spec/lib/oauth/scopes_spec.rb
585
- - spec/lib/oauth/token_request_spec.rb
586
- - spec/lib/oauth/token_response_spec.rb
587
- - spec/lib/oauth/token_spec.rb
588
- - spec/lib/option_spec.rb
589
- - spec/lib/request/strategy_spec.rb
590
- - spec/lib/secret_storing/base_spec.rb
591
- - spec/lib/secret_storing/bcrypt_spec.rb
592
- - spec/lib/secret_storing/plain_spec.rb
593
- - spec/lib/secret_storing/sha256_hash_spec.rb
594
- - spec/lib/server_spec.rb
595
- - spec/lib/stale_records_cleaner_spec.rb
596
- - spec/models/doorkeeper/access_grant_spec.rb
597
- - spec/models/doorkeeper/access_token_spec.rb
598
- - spec/models/doorkeeper/application_spec.rb
599
- - spec/requests/applications/applications_request_spec.rb
600
- - spec/requests/applications/authorized_applications_spec.rb
601
- - spec/requests/endpoints/authorization_spec.rb
602
- - spec/requests/endpoints/token_spec.rb
603
- - spec/requests/flows/authorization_code_errors_spec.rb
604
- - spec/requests/flows/authorization_code_spec.rb
605
- - spec/requests/flows/client_credentials_spec.rb
606
- - spec/requests/flows/implicit_grant_errors_spec.rb
607
- - spec/requests/flows/implicit_grant_spec.rb
608
- - spec/requests/flows/password_spec.rb
609
- - spec/requests/flows/refresh_token_spec.rb
610
- - spec/requests/flows/revoke_token_spec.rb
611
- - spec/requests/flows/skip_authorization_spec.rb
612
- - spec/requests/protected_resources/metal_spec.rb
613
- - spec/requests/protected_resources/private_api_spec.rb
614
- - spec/routing/custom_controller_routes_spec.rb
615
- - spec/routing/default_routes_spec.rb
616
- - spec/routing/scoped_routes_spec.rb
617
- - spec/spec_helper.rb
618
- - spec/spec_helper_integration.rb
619
- - spec/support/dependencies/factory_bot.rb
620
- - spec/support/doorkeeper_rspec.rb
621
- - spec/support/helpers/access_token_request_helper.rb
622
- - spec/support/helpers/authorization_request_helper.rb
623
- - spec/support/helpers/config_helper.rb
624
- - spec/support/helpers/model_helper.rb
625
- - spec/support/helpers/request_spec_helper.rb
626
- - spec/support/helpers/url_helper.rb
627
- - spec/support/orm/active_record.rb
628
- - spec/support/shared/controllers_shared_context.rb
629
- - spec/support/shared/hashing_shared_context.rb
630
- - spec/support/shared/models_shared_examples.rb
631
- - spec/validators/redirect_uri_validator_spec.rb
632
- - spec/version/version_spec.rb
351
+ test_files: []