doorkeeper 4.4.3 → 5.0.0.rc1

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 (169) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +2 -0
  4. data/Appraisals +2 -2
  5. data/Gemfile +1 -1
  6. data/NEWS.md +36 -17
  7. data/README.md +85 -3
  8. data/Rakefile +6 -0
  9. data/app/assets/stylesheets/doorkeeper/admin/application.css +2 -2
  10. data/app/controllers/doorkeeper/application_controller.rb +4 -3
  11. data/app/controllers/doorkeeper/application_metal_controller.rb +4 -0
  12. data/app/controllers/doorkeeper/applications_controller.rb +42 -22
  13. data/app/controllers/doorkeeper/authorizations_controller.rb +55 -12
  14. data/app/controllers/doorkeeper/authorized_applications_controller.rb +15 -1
  15. data/app/controllers/doorkeeper/tokens_controller.rb +12 -15
  16. data/app/helpers/doorkeeper/dashboard_helper.rb +7 -7
  17. data/app/validators/redirect_uri_validator.rb +3 -2
  18. data/app/views/doorkeeper/applications/_delete_form.html.erb +3 -1
  19. data/app/views/doorkeeper/applications/_form.html.erb +25 -24
  20. data/app/views/doorkeeper/applications/edit.html.erb +1 -1
  21. data/app/views/doorkeeper/applications/index.html.erb +17 -7
  22. data/app/views/doorkeeper/applications/new.html.erb +1 -1
  23. data/app/views/doorkeeper/applications/show.html.erb +6 -6
  24. data/app/views/doorkeeper/authorizations/error.html.erb +1 -1
  25. data/app/views/doorkeeper/authorizations/new.html.erb +4 -0
  26. data/app/views/layouts/doorkeeper/admin.html.erb +15 -15
  27. data/config/locales/en.yml +9 -1
  28. data/doorkeeper.gemspec +0 -2
  29. data/gemfiles/rails_5_2.gemfile +1 -1
  30. data/lib/doorkeeper/config.rb +58 -35
  31. data/lib/doorkeeper/engine.rb +4 -0
  32. data/lib/doorkeeper/errors.rb +2 -5
  33. data/lib/doorkeeper/grape/helpers.rb +1 -1
  34. data/lib/doorkeeper/helpers/controller.rb +7 -2
  35. data/lib/doorkeeper/models/access_grant_mixin.rb +56 -0
  36. data/lib/doorkeeper/models/access_token_mixin.rb +38 -21
  37. data/lib/doorkeeper/models/concerns/scopes.rb +1 -1
  38. data/lib/doorkeeper/oauth/authorization/code.rb +31 -8
  39. data/lib/doorkeeper/oauth/authorization/context.rb +15 -0
  40. data/lib/doorkeeper/oauth/authorization/token.rb +23 -6
  41. data/lib/doorkeeper/oauth/authorization_code_request.rb +27 -2
  42. data/lib/doorkeeper/oauth/base_request.rb +18 -8
  43. data/lib/doorkeeper/oauth/client/credentials.rb +1 -1
  44. data/lib/doorkeeper/oauth/client_credentials/issuer.rb +6 -1
  45. data/lib/doorkeeper/oauth/client_credentials/validation.rb +4 -2
  46. data/lib/doorkeeper/oauth/error_response.rb +11 -3
  47. data/lib/doorkeeper/oauth/helpers/scope_checker.rb +0 -8
  48. data/lib/doorkeeper/oauth/password_access_token_request.rb +7 -4
  49. data/lib/doorkeeper/oauth/pre_authorization.rb +41 -11
  50. data/lib/doorkeeper/oauth/refresh_token_request.rb +6 -1
  51. data/lib/doorkeeper/oauth/scopes.rb +1 -1
  52. data/lib/doorkeeper/oauth/token.rb +5 -2
  53. data/lib/doorkeeper/oauth/token_introspection.rb +2 -2
  54. data/lib/doorkeeper/oauth/token_response.rb +4 -2
  55. data/lib/doorkeeper/oauth.rb +13 -0
  56. data/lib/doorkeeper/orm/active_record/application.rb +13 -16
  57. data/lib/doorkeeper/orm/active_record/stale_records_cleaner.rb +26 -0
  58. data/lib/doorkeeper/orm/active_record.rb +2 -0
  59. data/lib/doorkeeper/rails/helpers.rb +2 -4
  60. data/lib/doorkeeper/rails/routes.rb +14 -6
  61. data/lib/doorkeeper/rake/db.rake +40 -0
  62. data/lib/doorkeeper/rake/setup.rake +6 -0
  63. data/lib/doorkeeper/rake.rb +14 -0
  64. data/lib/doorkeeper/request.rb +28 -28
  65. data/lib/doorkeeper/version.rb +5 -25
  66. data/lib/doorkeeper.rb +4 -17
  67. data/lib/generators/doorkeeper/application_owner_generator.rb +23 -18
  68. data/lib/generators/doorkeeper/confidential_applications_generator.rb +32 -0
  69. data/lib/generators/doorkeeper/install_generator.rb +17 -9
  70. data/lib/generators/doorkeeper/migration_generator.rb +23 -18
  71. data/lib/generators/doorkeeper/pkce_generator.rb +32 -0
  72. data/lib/generators/doorkeeper/previous_refresh_token_generator.rb +29 -24
  73. data/lib/generators/doorkeeper/templates/add_confidential_to_applications.rb.erb +13 -0
  74. data/lib/generators/doorkeeper/templates/enable_pkce_migration.rb.erb +6 -0
  75. data/lib/generators/doorkeeper/templates/initializer.rb +60 -9
  76. data/lib/generators/doorkeeper/views_generator.rb +3 -1
  77. data/spec/controllers/application_metal_controller_spec.rb +50 -0
  78. data/spec/controllers/applications_controller_spec.rb +126 -13
  79. data/spec/controllers/authorizations_controller_spec.rb +252 -49
  80. data/spec/controllers/protected_resources_controller_spec.rb +16 -16
  81. data/spec/controllers/token_info_controller_spec.rb +4 -12
  82. data/spec/controllers/tokens_controller_spec.rb +19 -73
  83. data/spec/dummy/app/assets/config/manifest.js +2 -0
  84. data/spec/dummy/config/environments/test.rb +4 -5
  85. data/spec/dummy/config/initializers/doorkeeper.rb +5 -4
  86. data/spec/dummy/config/initializers/new_framework_defaults.rb +4 -0
  87. data/spec/dummy/config/routes.rb +3 -42
  88. data/spec/dummy/db/migrate/20170822064514_enable_pkce.rb +6 -0
  89. data/spec/dummy/db/migrate/{20180210183654_add_confidential_to_application.rb → 20180210183654_add_confidential_to_applications.rb} +1 -1
  90. data/spec/dummy/db/schema.rb +36 -36
  91. data/spec/generators/application_owner_generator_spec.rb +1 -1
  92. data/spec/generators/confidential_applications_generator_spec.rb +45 -0
  93. data/spec/generators/install_generator_spec.rb +1 -1
  94. data/spec/generators/migration_generator_spec.rb +1 -1
  95. data/spec/generators/pkce_generator_spec.rb +43 -0
  96. data/spec/generators/previous_refresh_token_generator_spec.rb +1 -1
  97. data/spec/generators/views_generator_spec.rb +1 -1
  98. data/spec/grape/grape_integration_spec.rb +1 -1
  99. data/spec/helpers/doorkeeper/dashboard_helper_spec.rb +1 -1
  100. data/spec/lib/config_spec.rb +51 -31
  101. data/spec/lib/doorkeeper_spec.rb +1 -126
  102. data/spec/lib/models/expirable_spec.rb +0 -3
  103. data/spec/lib/models/revocable_spec.rb +0 -2
  104. data/spec/lib/models/scopes_spec.rb +0 -4
  105. data/spec/lib/oauth/authorization/uri_builder_spec.rb +0 -4
  106. data/spec/lib/oauth/authorization_code_request_spec.rb +9 -2
  107. data/spec/lib/oauth/base_request_spec.rb +16 -2
  108. data/spec/lib/oauth/base_response_spec.rb +1 -1
  109. data/spec/lib/oauth/client/credentials_spec.rb +1 -3
  110. data/spec/lib/oauth/client_credentials/creator_spec.rb +5 -1
  111. data/spec/lib/oauth/client_credentials/issuer_spec.rb +26 -7
  112. data/spec/lib/oauth/client_credentials/validation_spec.rb +2 -3
  113. data/spec/lib/oauth/client_credentials_integration_spec.rb +1 -1
  114. data/spec/lib/oauth/client_credentials_request_spec.rb +3 -5
  115. data/spec/lib/oauth/client_spec.rb +0 -3
  116. data/spec/lib/oauth/code_request_spec.rb +4 -2
  117. data/spec/lib/oauth/error_response_spec.rb +0 -3
  118. data/spec/lib/oauth/error_spec.rb +0 -2
  119. data/spec/lib/oauth/forbidden_token_response_spec.rb +1 -4
  120. data/spec/lib/oauth/helpers/scope_checker_spec.rb +0 -3
  121. data/spec/lib/oauth/helpers/unique_token_spec.rb +0 -1
  122. data/spec/lib/oauth/helpers/uri_checker_spec.rb +5 -7
  123. data/spec/lib/oauth/invalid_token_response_spec.rb +1 -4
  124. data/spec/lib/oauth/password_access_token_request_spec.rb +37 -2
  125. data/spec/lib/oauth/pre_authorization_spec.rb +33 -4
  126. data/spec/lib/oauth/refresh_token_request_spec.rb +11 -7
  127. data/spec/lib/oauth/scopes_spec.rb +0 -3
  128. data/spec/lib/oauth/token_request_spec.rb +4 -5
  129. data/spec/lib/oauth/token_response_spec.rb +0 -1
  130. data/spec/lib/oauth/token_spec.rb +37 -14
  131. data/spec/lib/orm/active_record/stale_records_cleaner_spec.rb +79 -0
  132. data/spec/lib/request/strategy_spec.rb +0 -1
  133. data/spec/lib/server_spec.rb +1 -1
  134. data/spec/models/doorkeeper/access_grant_spec.rb +1 -1
  135. data/spec/models/doorkeeper/access_token_spec.rb +50 -16
  136. data/spec/models/doorkeeper/application_spec.rb +1 -47
  137. data/spec/requests/applications/applications_request_spec.rb +89 -1
  138. data/spec/requests/applications/authorized_applications_spec.rb +1 -1
  139. data/spec/requests/endpoints/authorization_spec.rb +1 -1
  140. data/spec/requests/endpoints/token_spec.rb +7 -5
  141. data/spec/requests/flows/authorization_code_errors_spec.rb +1 -1
  142. data/spec/requests/flows/authorization_code_spec.rb +198 -2
  143. data/spec/requests/flows/client_credentials_spec.rb +46 -6
  144. data/spec/requests/flows/implicit_grant_errors_spec.rb +1 -1
  145. data/spec/requests/flows/implicit_grant_spec.rb +38 -11
  146. data/spec/requests/flows/password_spec.rb +56 -2
  147. data/spec/requests/flows/refresh_token_spec.rb +2 -2
  148. data/spec/requests/flows/revoke_token_spec.rb +11 -11
  149. data/spec/requests/flows/skip_authorization_spec.rb +16 -11
  150. data/spec/requests/protected_resources/metal_spec.rb +1 -1
  151. data/spec/requests/protected_resources/private_api_spec.rb +1 -1
  152. data/spec/routing/custom_controller_routes_spec.rb +59 -7
  153. data/spec/routing/default_routes_spec.rb +2 -2
  154. data/spec/routing/scoped_routes_spec.rb +16 -2
  155. data/spec/spec_helper.rb +54 -3
  156. data/spec/spec_helper_integration.rb +2 -74
  157. data/spec/support/dependencies/{factory_girl.rb → factory_bot.rb} +0 -0
  158. data/spec/support/doorkeeper_rspec.rb +19 -0
  159. data/spec/support/helpers/authorization_request_helper.rb +4 -4
  160. data/spec/support/helpers/request_spec_helper.rb +2 -2
  161. data/spec/support/helpers/url_helper.rb +7 -3
  162. data/spec/support/http_method_shim.rb +12 -16
  163. data/spec/validators/redirect_uri_validator_spec.rb +7 -1
  164. data/spec/version/version_spec.rb +3 -3
  165. data/vendor/assets/stylesheets/doorkeeper/bootstrap.min.css +4 -5
  166. metadata +33 -31
  167. data/lib/generators/doorkeeper/add_client_confidentiality_generator.rb +0 -31
  168. data/lib/generators/doorkeeper/templates/add_confidential_to_application_migration.rb.erb +0 -11
  169. data/spec/controllers/application_metal_controller.rb +0 -10
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: 4.4.3
4
+ version: 5.0.0.rc1
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: 2018-09-19 00:00:00.000000000 Z
14
+ date: 2018-06-11 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: railties
@@ -211,7 +211,9 @@ files:
211
211
  - lib/doorkeeper/models/concerns/ownership.rb
212
212
  - lib/doorkeeper/models/concerns/revocable.rb
213
213
  - lib/doorkeeper/models/concerns/scopes.rb
214
+ - lib/doorkeeper/oauth.rb
214
215
  - lib/doorkeeper/oauth/authorization/code.rb
216
+ - lib/doorkeeper/oauth/authorization/context.rb
215
217
  - lib/doorkeeper/oauth/authorization/token.rb
216
218
  - lib/doorkeeper/oauth/authorization/uri_builder.rb
217
219
  - lib/doorkeeper/oauth/authorization_code_request.rb
@@ -244,10 +246,14 @@ files:
244
246
  - lib/doorkeeper/orm/active_record/access_grant.rb
245
247
  - lib/doorkeeper/orm/active_record/access_token.rb
246
248
  - lib/doorkeeper/orm/active_record/application.rb
249
+ - lib/doorkeeper/orm/active_record/stale_records_cleaner.rb
247
250
  - lib/doorkeeper/rails/helpers.rb
248
251
  - lib/doorkeeper/rails/routes.rb
249
252
  - lib/doorkeeper/rails/routes/mapper.rb
250
253
  - lib/doorkeeper/rails/routes/mapping.rb
254
+ - lib/doorkeeper/rake.rb
255
+ - lib/doorkeeper/rake/db.rake
256
+ - lib/doorkeeper/rake/setup.rake
251
257
  - lib/doorkeeper/request.rb
252
258
  - lib/doorkeeper/request/authorization_code.rb
253
259
  - lib/doorkeeper/request/client_credentials.rb
@@ -259,25 +265,28 @@ files:
259
265
  - lib/doorkeeper/server.rb
260
266
  - lib/doorkeeper/validations.rb
261
267
  - lib/doorkeeper/version.rb
262
- - lib/generators/doorkeeper/add_client_confidentiality_generator.rb
263
268
  - lib/generators/doorkeeper/application_owner_generator.rb
269
+ - lib/generators/doorkeeper/confidential_applications_generator.rb
264
270
  - lib/generators/doorkeeper/install_generator.rb
265
271
  - lib/generators/doorkeeper/migration_generator.rb
272
+ - lib/generators/doorkeeper/pkce_generator.rb
266
273
  - lib/generators/doorkeeper/previous_refresh_token_generator.rb
267
274
  - lib/generators/doorkeeper/templates/README
268
- - lib/generators/doorkeeper/templates/add_confidential_to_application_migration.rb.erb
275
+ - lib/generators/doorkeeper/templates/add_confidential_to_applications.rb.erb
269
276
  - lib/generators/doorkeeper/templates/add_owner_to_application_migration.rb.erb
270
277
  - lib/generators/doorkeeper/templates/add_previous_refresh_token_to_access_tokens.rb.erb
278
+ - lib/generators/doorkeeper/templates/enable_pkce_migration.rb.erb
271
279
  - lib/generators/doorkeeper/templates/initializer.rb
272
280
  - lib/generators/doorkeeper/templates/migration.rb.erb
273
281
  - lib/generators/doorkeeper/views_generator.rb
274
- - spec/controllers/application_metal_controller.rb
282
+ - spec/controllers/application_metal_controller_spec.rb
275
283
  - spec/controllers/applications_controller_spec.rb
276
284
  - spec/controllers/authorizations_controller_spec.rb
277
285
  - spec/controllers/protected_resources_controller_spec.rb
278
286
  - spec/controllers/token_info_controller_spec.rb
279
287
  - spec/controllers/tokens_controller_spec.rb
280
288
  - spec/dummy/Rakefile
289
+ - spec/dummy/app/assets/config/manifest.js
281
290
  - spec/dummy/app/controllers/application_controller.rb
282
291
  - spec/dummy/app/controllers/custom_authorizations_controller.rb
283
292
  - spec/dummy/app/controllers/full_protected_resources_controller.rb
@@ -309,7 +318,8 @@ files:
309
318
  - spec/dummy/db/migrate/20151223192035_create_doorkeeper_tables.rb
310
319
  - spec/dummy/db/migrate/20151223200000_add_owner_to_application.rb
311
320
  - spec/dummy/db/migrate/20160320211015_add_previous_refresh_token_to_access_tokens.rb
312
- - spec/dummy/db/migrate/20180210183654_add_confidential_to_application.rb
321
+ - spec/dummy/db/migrate/20170822064514_enable_pkce.rb
322
+ - spec/dummy/db/migrate/20180210183654_add_confidential_to_applications.rb
313
323
  - spec/dummy/db/schema.rb
314
324
  - spec/dummy/public/404.html
315
325
  - spec/dummy/public/422.html
@@ -318,8 +328,10 @@ files:
318
328
  - spec/dummy/script/rails
319
329
  - spec/factories.rb
320
330
  - spec/generators/application_owner_generator_spec.rb
331
+ - spec/generators/confidential_applications_generator_spec.rb
321
332
  - spec/generators/install_generator_spec.rb
322
333
  - spec/generators/migration_generator_spec.rb
334
+ - spec/generators/pkce_generator_spec.rb
323
335
  - spec/generators/previous_refresh_token_generator_spec.rb
324
336
  - spec/generators/templates/routes.rb
325
337
  - spec/generators/views_generator_spec.rb
@@ -357,6 +369,7 @@ files:
357
369
  - spec/lib/oauth/token_request_spec.rb
358
370
  - spec/lib/oauth/token_response_spec.rb
359
371
  - spec/lib/oauth/token_spec.rb
372
+ - spec/lib/orm/active_record/stale_records_cleaner_spec.rb
360
373
  - spec/lib/request/strategy_spec.rb
361
374
  - spec/lib/server_spec.rb
362
375
  - spec/models/doorkeeper/access_grant_spec.rb
@@ -382,7 +395,8 @@ files:
382
395
  - spec/routing/scoped_routes_spec.rb
383
396
  - spec/spec_helper.rb
384
397
  - spec/spec_helper_integration.rb
385
- - spec/support/dependencies/factory_girl.rb
398
+ - spec/support/dependencies/factory_bot.rb
399
+ - spec/support/doorkeeper_rspec.rb
386
400
  - spec/support/helpers/access_token_request_helper.rb
387
401
  - spec/support/helpers/authorization_request_helper.rb
388
402
  - spec/support/helpers/config_helper.rb
@@ -400,25 +414,7 @@ homepage: https://github.com/doorkeeper-gem/doorkeeper
400
414
  licenses:
401
415
  - MIT
402
416
  metadata: {}
403
- post_install_message: |2+
404
-
405
-
406
- WARNING: This is a security release that addresses token revocation not working for public apps (CVE-2018-1000211)
407
-
408
- There is no breaking change in this release, however to take advantage of the security fix you must:
409
-
410
- 1. Run `rails generate doorkeeper:add_client_confidentiality` for the migration
411
- 2. Review your OAuth apps and determine which ones exclusively use public grant flows (eg implicit)
412
- 3. Update their `confidential` column to `false` for those public apps
413
-
414
- This is a backported security release.
415
-
416
- For more information:
417
-
418
- * https://github.com/doorkeeper-gem/doorkeeper/pull/1119
419
- * https://github.com/doorkeeper-gem/doorkeeper/issues/891
420
-
421
-
417
+ post_install_message:
422
418
  rdoc_options: []
423
419
  require_paths:
424
420
  - lib
@@ -429,9 +425,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
429
425
  version: '2.1'
430
426
  required_rubygems_version: !ruby/object:Gem::Requirement
431
427
  requirements:
432
- - - ">="
428
+ - - ">"
433
429
  - !ruby/object:Gem::Version
434
- version: '0'
430
+ version: 1.3.1
435
431
  requirements: []
436
432
  rubyforge_project:
437
433
  rubygems_version: 2.6.11
@@ -439,13 +435,14 @@ signing_key:
439
435
  specification_version: 4
440
436
  summary: OAuth 2 provider for Rails and Grape
441
437
  test_files:
442
- - spec/controllers/application_metal_controller.rb
438
+ - spec/controllers/application_metal_controller_spec.rb
443
439
  - spec/controllers/applications_controller_spec.rb
444
440
  - spec/controllers/authorizations_controller_spec.rb
445
441
  - spec/controllers/protected_resources_controller_spec.rb
446
442
  - spec/controllers/token_info_controller_spec.rb
447
443
  - spec/controllers/tokens_controller_spec.rb
448
444
  - spec/dummy/Rakefile
445
+ - spec/dummy/app/assets/config/manifest.js
449
446
  - spec/dummy/app/controllers/application_controller.rb
450
447
  - spec/dummy/app/controllers/custom_authorizations_controller.rb
451
448
  - spec/dummy/app/controllers/full_protected_resources_controller.rb
@@ -477,7 +474,8 @@ test_files:
477
474
  - spec/dummy/db/migrate/20151223192035_create_doorkeeper_tables.rb
478
475
  - spec/dummy/db/migrate/20151223200000_add_owner_to_application.rb
479
476
  - spec/dummy/db/migrate/20160320211015_add_previous_refresh_token_to_access_tokens.rb
480
- - spec/dummy/db/migrate/20180210183654_add_confidential_to_application.rb
477
+ - spec/dummy/db/migrate/20170822064514_enable_pkce.rb
478
+ - spec/dummy/db/migrate/20180210183654_add_confidential_to_applications.rb
481
479
  - spec/dummy/db/schema.rb
482
480
  - spec/dummy/public/404.html
483
481
  - spec/dummy/public/422.html
@@ -486,8 +484,10 @@ test_files:
486
484
  - spec/dummy/script/rails
487
485
  - spec/factories.rb
488
486
  - spec/generators/application_owner_generator_spec.rb
487
+ - spec/generators/confidential_applications_generator_spec.rb
489
488
  - spec/generators/install_generator_spec.rb
490
489
  - spec/generators/migration_generator_spec.rb
490
+ - spec/generators/pkce_generator_spec.rb
491
491
  - spec/generators/previous_refresh_token_generator_spec.rb
492
492
  - spec/generators/templates/routes.rb
493
493
  - spec/generators/views_generator_spec.rb
@@ -525,6 +525,7 @@ test_files:
525
525
  - spec/lib/oauth/token_request_spec.rb
526
526
  - spec/lib/oauth/token_response_spec.rb
527
527
  - spec/lib/oauth/token_spec.rb
528
+ - spec/lib/orm/active_record/stale_records_cleaner_spec.rb
528
529
  - spec/lib/request/strategy_spec.rb
529
530
  - spec/lib/server_spec.rb
530
531
  - spec/models/doorkeeper/access_grant_spec.rb
@@ -550,7 +551,8 @@ test_files:
550
551
  - spec/routing/scoped_routes_spec.rb
551
552
  - spec/spec_helper.rb
552
553
  - spec/spec_helper_integration.rb
553
- - spec/support/dependencies/factory_girl.rb
554
+ - spec/support/dependencies/factory_bot.rb
555
+ - spec/support/doorkeeper_rspec.rb
554
556
  - spec/support/helpers/access_token_request_helper.rb
555
557
  - spec/support/helpers/authorization_request_helper.rb
556
558
  - spec/support/helpers/config_helper.rb
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails/generators/active_record'
4
-
5
- module Doorkeeper
6
- class AddClientConfidentialityGenerator < ::Rails::Generators::Base
7
- include ::Rails::Generators::Migration
8
- source_root File.expand_path('templates', __dir__)
9
- desc 'Adds a migration to fix CVE-2018-1000211.'
10
-
11
- def install
12
- migration_template(
13
- 'add_confidential_to_application_migration.rb.erb',
14
- 'db/migrate/add_confidential_to_doorkeeper_application.rb',
15
- migration_version: migration_version
16
- )
17
- end
18
-
19
- def self.next_migration_number(dirname)
20
- ::ActiveRecord::Generators::Base.next_migration_number(dirname)
21
- end
22
-
23
- private
24
-
25
- def migration_version
26
- if ::ActiveRecord::VERSION::MAJOR >= 5
27
- "[#{::ActiveRecord::VERSION::MAJOR}.#{::ActiveRecord::VERSION::MINOR}]"
28
- end
29
- end
30
- end
31
- end
@@ -1,11 +0,0 @@
1
- class AddConfidentialToDoorkeeperApplication < ActiveRecord::Migration<%= migration_version %>
2
- def change
3
- add_column(
4
- :oauth_applications,
5
- :confidential,
6
- :boolean,
7
- null: false,
8
- default: true # maintaining backwards compatibility: require secrets
9
- )
10
- end
11
- end
@@ -1,10 +0,0 @@
1
- require "spec_helper_integration"
2
-
3
- describe Doorkeeper::ApplicationMetalController do
4
- it "lazy run hooks" do
5
- i = 0
6
- ActiveSupport.on_load(:doorkeeper_metal_controller) { i += 1 }
7
-
8
- expect(i).to eq 1
9
- end
10
- end