doorkeeper 5.4.0.rc1 → 5.4.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 (189) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +54 -1
  3. data/app/controllers/doorkeeper/applications_controller.rb +3 -3
  4. data/app/controllers/doorkeeper/authorized_applications_controller.rb +1 -1
  5. data/app/views/doorkeeper/applications/_form.html.erb +1 -1
  6. data/lib/doorkeeper/config/abstract_builder.rb +1 -1
  7. data/lib/doorkeeper/config.rb +24 -18
  8. data/lib/doorkeeper/engine.rb +1 -1
  9. data/lib/doorkeeper/helpers/controller.rb +4 -4
  10. data/lib/doorkeeper/models/access_grant_mixin.rb +11 -5
  11. data/lib/doorkeeper/models/access_token_mixin.rb +9 -5
  12. data/lib/doorkeeper/models/application_mixin.rb +5 -4
  13. data/lib/doorkeeper/oauth/authorization/code.rb +1 -1
  14. data/lib/doorkeeper/oauth/authorization/token.rb +1 -1
  15. data/lib/doorkeeper/oauth/client_credentials/creator.rb +2 -2
  16. data/lib/doorkeeper/oauth/client_credentials/validator.rb +3 -1
  17. data/lib/doorkeeper/oauth/code_request.rb +2 -2
  18. data/lib/doorkeeper/oauth/password_access_token_request.rb +1 -1
  19. data/lib/doorkeeper/oauth/pre_authorization.rb +5 -4
  20. data/lib/doorkeeper/oauth/token.rb +4 -5
  21. data/lib/doorkeeper/oauth/token_introspection.rb +1 -5
  22. data/lib/doorkeeper/oauth/token_request.rb +1 -1
  23. data/lib/doorkeeper/orm/active_record/mixins/access_grant.rb +1 -1
  24. data/lib/doorkeeper/orm/active_record/mixins/access_token.rb +1 -1
  25. data/lib/doorkeeper/orm/active_record/mixins/application.rb +64 -9
  26. data/lib/doorkeeper/orm/active_record.rb +10 -2
  27. data/lib/doorkeeper/request/refresh_token.rb +2 -1
  28. data/lib/doorkeeper/server.rb +1 -1
  29. data/lib/doorkeeper/stale_records_cleaner.rb +4 -4
  30. data/lib/doorkeeper/version.rb +1 -1
  31. data/lib/doorkeeper.rb +1 -1
  32. data/lib/generators/doorkeeper/templates/migration.rb.erb +12 -5
  33. metadata +7 -301
  34. data/Appraisals +0 -26
  35. data/CODE_OF_CONDUCT.md +0 -46
  36. data/CONTRIBUTING.md +0 -49
  37. data/Dangerfile +0 -67
  38. data/Dockerfile +0 -29
  39. data/Gemfile +0 -25
  40. data/NEWS.md +0 -1
  41. data/RELEASING.md +0 -11
  42. data/Rakefile +0 -28
  43. data/SECURITY.md +0 -15
  44. data/UPGRADE.md +0 -2
  45. data/bin/console +0 -30
  46. data/doorkeeper.gemspec +0 -42
  47. data/gemfiles/rails_5_0.gemfile +0 -19
  48. data/gemfiles/rails_5_1.gemfile +0 -19
  49. data/gemfiles/rails_5_2.gemfile +0 -19
  50. data/gemfiles/rails_6_0.gemfile +0 -19
  51. data/gemfiles/rails_master.gemfile +0 -19
  52. data/spec/controllers/application_metal_controller_spec.rb +0 -64
  53. data/spec/controllers/applications_controller_spec.rb +0 -274
  54. data/spec/controllers/authorizations_controller_spec.rb +0 -743
  55. data/spec/controllers/protected_resources_controller_spec.rb +0 -361
  56. data/spec/controllers/token_info_controller_spec.rb +0 -50
  57. data/spec/controllers/tokens_controller_spec.rb +0 -499
  58. data/spec/dummy/Rakefile +0 -9
  59. data/spec/dummy/app/assets/config/manifest.js +0 -2
  60. data/spec/dummy/app/controllers/application_controller.rb +0 -5
  61. data/spec/dummy/app/controllers/custom_authorizations_controller.rb +0 -9
  62. data/spec/dummy/app/controllers/full_protected_resources_controller.rb +0 -14
  63. data/spec/dummy/app/controllers/home_controller.rb +0 -18
  64. data/spec/dummy/app/controllers/metal_controller.rb +0 -13
  65. data/spec/dummy/app/controllers/semi_protected_resources_controller.rb +0 -13
  66. data/spec/dummy/app/helpers/application_helper.rb +0 -7
  67. data/spec/dummy/app/models/user.rb +0 -11
  68. data/spec/dummy/app/views/home/index.html.erb +0 -0
  69. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  70. data/spec/dummy/config/application.rb +0 -51
  71. data/spec/dummy/config/boot.rb +0 -7
  72. data/spec/dummy/config/database.yml +0 -15
  73. data/spec/dummy/config/environment.rb +0 -5
  74. data/spec/dummy/config/environments/development.rb +0 -31
  75. data/spec/dummy/config/environments/production.rb +0 -64
  76. data/spec/dummy/config/environments/test.rb +0 -45
  77. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -9
  78. data/spec/dummy/config/initializers/doorkeeper.rb +0 -166
  79. data/spec/dummy/config/initializers/secret_token.rb +0 -10
  80. data/spec/dummy/config/initializers/session_store.rb +0 -10
  81. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -16
  82. data/spec/dummy/config/locales/doorkeeper.en.yml +0 -5
  83. data/spec/dummy/config/routes.rb +0 -13
  84. data/spec/dummy/config.ru +0 -6
  85. data/spec/dummy/db/migrate/20111122132257_create_users.rb +0 -11
  86. data/spec/dummy/db/migrate/20120312140401_add_password_to_users.rb +0 -7
  87. data/spec/dummy/db/migrate/20151223192035_create_doorkeeper_tables.rb +0 -69
  88. data/spec/dummy/db/migrate/20151223200000_add_owner_to_application.rb +0 -9
  89. data/spec/dummy/db/migrate/20160320211015_add_previous_refresh_token_to_access_tokens.rb +0 -13
  90. data/spec/dummy/db/migrate/20170822064514_enable_pkce.rb +0 -8
  91. data/spec/dummy/db/migrate/20180210183654_add_confidential_to_applications.rb +0 -13
  92. data/spec/dummy/db/schema.rb +0 -70
  93. data/spec/dummy/public/404.html +0 -26
  94. data/spec/dummy/public/422.html +0 -26
  95. data/spec/dummy/public/500.html +0 -26
  96. data/spec/dummy/public/favicon.ico +0 -0
  97. data/spec/dummy/script/rails +0 -9
  98. data/spec/factories.rb +0 -30
  99. data/spec/generators/application_owner_generator_spec.rb +0 -28
  100. data/spec/generators/confidential_applications_generator_spec.rb +0 -29
  101. data/spec/generators/enable_polymorphic_resource_owner_generator_spec.rb +0 -47
  102. data/spec/generators/install_generator_spec.rb +0 -36
  103. data/spec/generators/migration_generator_spec.rb +0 -28
  104. data/spec/generators/pkce_generator_spec.rb +0 -28
  105. data/spec/generators/previous_refresh_token_generator_spec.rb +0 -44
  106. data/spec/generators/templates/routes.rb +0 -4
  107. data/spec/generators/views_generator_spec.rb +0 -29
  108. data/spec/grape/grape_integration_spec.rb +0 -137
  109. data/spec/helpers/doorkeeper/dashboard_helper_spec.rb +0 -26
  110. data/spec/lib/config_spec.rb +0 -813
  111. data/spec/lib/doorkeeper_spec.rb +0 -27
  112. data/spec/lib/models/expirable_spec.rb +0 -61
  113. data/spec/lib/models/reusable_spec.rb +0 -40
  114. data/spec/lib/models/revocable_spec.rb +0 -58
  115. data/spec/lib/models/scopes_spec.rb +0 -61
  116. data/spec/lib/models/secret_storable_spec.rb +0 -135
  117. data/spec/lib/oauth/authorization/uri_builder_spec.rb +0 -39
  118. data/spec/lib/oauth/authorization_code_request_spec.rb +0 -180
  119. data/spec/lib/oauth/base_request_spec.rb +0 -210
  120. data/spec/lib/oauth/base_response_spec.rb +0 -45
  121. data/spec/lib/oauth/client/credentials_spec.rb +0 -90
  122. data/spec/lib/oauth/client_credentials/creator_spec.rb +0 -135
  123. data/spec/lib/oauth/client_credentials/issuer_spec.rb +0 -110
  124. data/spec/lib/oauth/client_credentials/validation_spec.rb +0 -57
  125. data/spec/lib/oauth/client_credentials_integration_spec.rb +0 -27
  126. data/spec/lib/oauth/client_credentials_request_spec.rb +0 -108
  127. data/spec/lib/oauth/client_spec.rb +0 -38
  128. data/spec/lib/oauth/code_request_spec.rb +0 -46
  129. data/spec/lib/oauth/code_response_spec.rb +0 -36
  130. data/spec/lib/oauth/error_response_spec.rb +0 -64
  131. data/spec/lib/oauth/error_spec.rb +0 -21
  132. data/spec/lib/oauth/forbidden_token_response_spec.rb +0 -20
  133. data/spec/lib/oauth/helpers/scope_checker_spec.rb +0 -110
  134. data/spec/lib/oauth/helpers/unique_token_spec.rb +0 -21
  135. data/spec/lib/oauth/helpers/uri_checker_spec.rb +0 -262
  136. data/spec/lib/oauth/invalid_request_response_spec.rb +0 -73
  137. data/spec/lib/oauth/invalid_token_response_spec.rb +0 -53
  138. data/spec/lib/oauth/password_access_token_request_spec.rb +0 -201
  139. data/spec/lib/oauth/pre_authorization_spec.rb +0 -218
  140. data/spec/lib/oauth/refresh_token_request_spec.rb +0 -166
  141. data/spec/lib/oauth/scopes_spec.rb +0 -146
  142. data/spec/lib/oauth/token_request_spec.rb +0 -164
  143. data/spec/lib/oauth/token_response_spec.rb +0 -84
  144. data/spec/lib/oauth/token_spec.rb +0 -156
  145. data/spec/lib/option_spec.rb +0 -51
  146. data/spec/lib/request/strategy_spec.rb +0 -54
  147. data/spec/lib/secret_storing/base_spec.rb +0 -60
  148. data/spec/lib/secret_storing/bcrypt_spec.rb +0 -49
  149. data/spec/lib/secret_storing/plain_spec.rb +0 -44
  150. data/spec/lib/secret_storing/sha256_hash_spec.rb +0 -48
  151. data/spec/lib/server_spec.rb +0 -49
  152. data/spec/lib/stale_records_cleaner_spec.rb +0 -102
  153. data/spec/models/doorkeeper/access_grant_spec.rb +0 -175
  154. data/spec/models/doorkeeper/access_token_spec.rb +0 -650
  155. data/spec/models/doorkeeper/application_spec.rb +0 -442
  156. data/spec/requests/applications/applications_request_spec.rb +0 -259
  157. data/spec/requests/applications/authorized_applications_spec.rb +0 -32
  158. data/spec/requests/endpoints/authorization_spec.rb +0 -91
  159. data/spec/requests/endpoints/token_spec.rb +0 -79
  160. data/spec/requests/flows/authorization_code_errors_spec.rb +0 -82
  161. data/spec/requests/flows/authorization_code_spec.rb +0 -530
  162. data/spec/requests/flows/client_credentials_spec.rb +0 -207
  163. data/spec/requests/flows/implicit_grant_errors_spec.rb +0 -46
  164. data/spec/requests/flows/implicit_grant_spec.rb +0 -91
  165. data/spec/requests/flows/password_spec.rb +0 -316
  166. data/spec/requests/flows/refresh_token_spec.rb +0 -241
  167. data/spec/requests/flows/revoke_token_spec.rb +0 -196
  168. data/spec/requests/flows/skip_authorization_spec.rb +0 -66
  169. data/spec/requests/protected_resources/metal_spec.rb +0 -16
  170. data/spec/requests/protected_resources/private_api_spec.rb +0 -83
  171. data/spec/routing/custom_controller_routes_spec.rb +0 -133
  172. data/spec/routing/default_routes_spec.rb +0 -41
  173. data/spec/routing/scoped_routes_spec.rb +0 -47
  174. data/spec/spec_helper.rb +0 -54
  175. data/spec/spec_helper_integration.rb +0 -4
  176. data/spec/support/dependencies/factory_bot.rb +0 -4
  177. data/spec/support/doorkeeper_rspec.rb +0 -22
  178. data/spec/support/helpers/access_token_request_helper.rb +0 -14
  179. data/spec/support/helpers/authorization_request_helper.rb +0 -43
  180. data/spec/support/helpers/config_helper.rb +0 -11
  181. data/spec/support/helpers/model_helper.rb +0 -78
  182. data/spec/support/helpers/request_spec_helper.rb +0 -110
  183. data/spec/support/helpers/url_helper.rb +0 -62
  184. data/spec/support/orm/active_record.rb +0 -5
  185. data/spec/support/shared/controllers_shared_context.rb +0 -133
  186. data/spec/support/shared/hashing_shared_context.rb +0 -36
  187. data/spec/support/shared/models_shared_examples.rb +0 -56
  188. data/spec/validators/redirect_uri_validator_spec.rb +0 -183
  189. data/spec/version/version_spec.rb +0 -17
@@ -12,12 +12,12 @@ module Doorkeeper::Orm::ActiveRecord::Mixins
12
12
  has_many :access_grants,
13
13
  foreign_key: :application_id,
14
14
  dependent: :delete_all,
15
- class_name: Doorkeeper.config.access_grant_class
15
+ class_name: Doorkeeper.config.access_grant_class.to_s
16
16
 
17
17
  has_many :access_tokens,
18
18
  foreign_key: :application_id,
19
19
  dependent: :delete_all,
20
- class_name: Doorkeeper.config.access_token_class
20
+ class_name: Doorkeeper.config.access_token_class.to_s
21
21
 
22
22
  validates :name, :secret, :uid, presence: true
23
23
  validates :uid, uniqueness: { case_sensitive: true }
@@ -31,7 +31,7 @@ module Doorkeeper::Orm::ActiveRecord::Mixins
31
31
  has_many :authorized_tokens,
32
32
  -> { where(revoked_at: nil) },
33
33
  foreign_key: :application_id,
34
- class_name: Doorkeeper.config.access_token_class
34
+ class_name: Doorkeeper.config.access_token_class.to_s
35
35
 
36
36
  has_many :authorized_applications,
37
37
  through: :authorized_tokens,
@@ -61,21 +61,44 @@ module Doorkeeper::Orm::ActiveRecord::Mixins
61
61
  end
62
62
  end
63
63
 
64
- # This is the right way how we want to override ActiveRecord #to_json
64
+ # Represents client as set of it's attributes in JSON format.
65
+ # This is the right way how we want to override ActiveRecord #to_json.
65
66
  #
66
- # @return [String] entity attributes as JSON
67
+ # Respects privacy settings and serializes minimum set of attributes
68
+ # for public/private clients and full set for authorized owners.
69
+ #
70
+ # @return [Hash] entity attributes for JSON
67
71
  #
68
72
  def as_json(options = {})
69
- hash = super
70
-
71
- hash["secret"] = plaintext_secret if hash.key?("secret")
72
- hash
73
+ # if application belongs to some owner we need to check if it's the same as
74
+ # the one passed in the options or check if we render the client as an owner
75
+ if (respond_to?(:owner) && owner && owner == options[:current_resource_owner]) ||
76
+ options[:as_owner]
77
+ # Owners can see all the client attributes, fallback to ActiveModel serialization
78
+ super
79
+ else
80
+ # if application has no owner or it's owner doesn't match one from the options
81
+ # we render only minimum set of attributes that could be exposed to a public
82
+ only = extract_serializable_attributes(options)
83
+ super(options.merge(only: only))
84
+ end
73
85
  end
74
86
 
75
87
  def authorized_for_resource_owner?(resource_owner)
76
88
  Doorkeeper.configuration.authorize_resource_owner_for_client.call(self, resource_owner)
77
89
  end
78
90
 
91
+ # We need to hook into this method to allow serializing plan-text secrets
92
+ # when secrets hashing enabled.
93
+ #
94
+ # @param key [String] attribute name
95
+ #
96
+ def read_attribute_for_serialization(key)
97
+ return super unless key.to_s == "secret"
98
+
99
+ plaintext_secret || secret
100
+ end
101
+
79
102
  private
80
103
 
81
104
  def generate_uid
@@ -100,6 +123,38 @@ module Doorkeeper::Orm::ActiveRecord::Mixins
100
123
  def enforce_scopes?
101
124
  Doorkeeper.config.enforce_configured_scopes?
102
125
  end
126
+
127
+ # Helper method to extract collection of serializable attribute names
128
+ # considering serialization options (like `only`, `except` and so on).
129
+ #
130
+ # @param options [Hash] serialization options
131
+ #
132
+ # @return [Array<String>]
133
+ # collection of attributes to be serialized using #as_json
134
+ #
135
+ def extract_serializable_attributes(options = {})
136
+ opts = options.try(:dup) || {}
137
+ only = Array.wrap(opts[:only]).map(&:to_s)
138
+
139
+ only = if only.blank?
140
+ serializable_attributes
141
+ else
142
+ only & serializable_attributes
143
+ end
144
+
145
+ only -= Array.wrap(opts[:except]).map(&:to_s) if opts.key?(:except)
146
+ only.uniq
147
+ end
148
+
149
+ # Collection of attributes that could be serialized for public.
150
+ # Override this method if you need additional attributes to be serialized.
151
+ #
152
+ # @return [Array<String>] collection of serializable attributes
153
+ def serializable_attributes
154
+ attributes = %w[id name created_at]
155
+ attributes << "uid" unless confidential?
156
+ attributes
157
+ end
103
158
  end
104
159
 
105
160
  module ClassMethods
@@ -33,12 +33,20 @@ module Doorkeeper
33
33
  lazy_load do
34
34
  require "doorkeeper/models/concerns/ownership"
35
35
 
36
- Doorkeeper.config.application_model.send :include, Doorkeeper::Models::Ownership
36
+ Doorkeeper.config.application_model.include(Doorkeeper::Models::Ownership)
37
37
  end
38
38
  end
39
39
 
40
40
  def self.lazy_load(&block)
41
- ActiveSupport.on_load(:active_record, {}, &block)
41
+ # ActiveSupport has no public interface to check if something
42
+ # already lazy-loaded :(
43
+ loaded = ActiveSupport.instance_variable_get(:"@loaded") || {}
44
+
45
+ if loaded.key?(:active_record)
46
+ block.call
47
+ else
48
+ ActiveSupport.on_load(:active_record, {}, &block)
49
+ end
42
50
  end
43
51
 
44
52
  def self.models
@@ -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
@@ -10,7 +10,7 @@ module Doorkeeper
10
10
  MAJOR = 5
11
11
  MINOR = 4
12
12
  TINY = 0
13
- PRE = "rc1"
13
+ PRE = nil
14
14
 
15
15
  # Full version number
16
16
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
data/lib/doorkeeper.rb CHANGED
@@ -6,8 +6,8 @@ require "doorkeeper/engine"
6
6
  # Main Doorkeeper namespace.
7
7
  #
8
8
  module Doorkeeper
9
- autoload :OAuth, "doorkeeper/oauth"
10
9
  autoload :Errors, "doorkeeper/errors"
10
+ autoload :OAuth, "doorkeeper/oauth"
11
11
  autoload :Rake, "doorkeeper/rake"
12
12
  autoload :Request, "doorkeeper/request"
13
13
  autoload :Server, "doorkeeper/server"
@@ -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.4.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: 2020-05-11 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
@@ -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
@@ -211,14 +200,7 @@ files:
211
200
  - app/views/doorkeeper/authorized_applications/index.html.erb
212
201
  - app/views/layouts/doorkeeper/admin.html.erb
213
202
  - app/views/layouts/doorkeeper/application.html.erb
214
- - bin/console
215
203
  - 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
204
  - lib/doorkeeper.rb
223
205
  - lib/doorkeeper/config.rb
224
206
  - lib/doorkeeper/config/abstract_builder.rb
@@ -324,144 +306,6 @@ files:
324
306
  - lib/generators/doorkeeper/templates/initializer.rb
325
307
  - lib/generators/doorkeeper/templates/migration.rb.erb
326
308
  - 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
309
  - vendor/assets/stylesheets/doorkeeper/bootstrap.min.css
466
310
  homepage: https://github.com/doorkeeper-gem/doorkeeper
467
311
  licenses:
@@ -483,150 +327,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
483
327
  version: '2.4'
484
328
  required_rubygems_version: !ruby/object:Gem::Requirement
485
329
  requirements:
486
- - - ">"
330
+ - - ">="
487
331
  - !ruby/object:Gem::Version
488
- version: 1.3.1
332
+ version: '0'
489
333
  requirements: []
490
334
  rubygems_version: 3.0.2
491
335
  signing_key:
492
336
  specification_version: 4
493
337
  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
338
+ test_files: []
data/Appraisals DELETED
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- appraise "rails-5-0" do
4
- gem "rails", "~> 5.0.0"
5
- gem "sqlite3", "~> 1.3", "< 1.4", platform: %i[ruby mswin mingw x64_mingw]
6
- end
7
-
8
- appraise "rails-5-1" do
9
- gem "rails", "~> 5.1.0"
10
- gem "sqlite3", "~> 1.3", "< 1.4", platform: %i[ruby mswin mingw x64_mingw]
11
- end
12
-
13
- appraise "rails-5-2" do
14
- gem "rails", "~> 5.2.0"
15
- gem "sqlite3", "~> 1.3", "< 1.4", platform: %i[ruby mswin mingw x64_mingw]
16
- end
17
-
18
- appraise "rails-6-0" do
19
- gem "rails", "~> 6.0.0"
20
- gem "sqlite3", "~> 1.4", platform: %i[ruby mswin mingw x64_mingw]
21
- end
22
-
23
- appraise "rails-master" do
24
- gem "rails", git: "https://github.com/rails/rails"
25
- gem "sqlite3", "~> 1.4", platform: %i[ruby mswin mingw x64_mingw]
26
- end
data/CODE_OF_CONDUCT.md DELETED
@@ -1,46 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6
-
7
- ## Our Standards
8
-
9
- Examples of behavior that contributes to creating a positive environment include:
10
-
11
- * Using welcoming and inclusive language
12
- * Being respectful of differing viewpoints and experiences
13
- * Gracefully accepting constructive criticism
14
- * Focusing on what is best for the community
15
- * Showing empathy towards other community members
16
-
17
- Examples of unacceptable behavior by participants include:
18
-
19
- * The use of sexualized language or imagery and unwelcome sexual attention or advances
20
- * Trolling, insulting/derogatory comments, and personal or political attacks
21
- * Public or private harassment
22
- * Publishing others' private information, such as a physical or electronic address, without explicit permission
23
- * Other conduct which could reasonably be considered inappropriate in a professional setting
24
-
25
- ## Our Responsibilities
26
-
27
- Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28
-
29
- Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30
-
31
- ## Scope
32
-
33
- This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34
-
35
- ## Enforcement
36
-
37
- Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team members or current maintainer email, specified in gemspec. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38
-
39
- Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40
-
41
- ## Attribution
42
-
43
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44
-
45
- [homepage]: http://contributor-covenant.org
46
- [version]: http://contributor-covenant.org/version/1/4/