doorkeeper 5.3.3 → 5.6.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (247) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +216 -9
  3. data/README.md +30 -21
  4. data/app/controllers/doorkeeper/application_controller.rb +1 -0
  5. data/app/controllers/doorkeeper/applications_controller.rb +4 -4
  6. data/app/controllers/doorkeeper/authorizations_controller.rb +66 -22
  7. data/app/controllers/doorkeeper/authorized_applications_controller.rb +3 -3
  8. data/app/controllers/doorkeeper/token_info_controller.rb +12 -2
  9. data/app/controllers/doorkeeper/tokens_controller.rb +73 -25
  10. data/app/helpers/doorkeeper/dashboard_helper.rb +1 -1
  11. data/app/views/doorkeeper/applications/_form.html.erb +1 -1
  12. data/app/views/doorkeeper/applications/show.html.erb +35 -14
  13. data/app/views/doorkeeper/authorizations/error.html.erb +3 -1
  14. data/app/views/doorkeeper/authorizations/form_post.html.erb +15 -0
  15. data/app/views/doorkeeper/authorizations/new.html.erb +16 -14
  16. data/config/locales/en.yml +9 -2
  17. data/lib/doorkeeper/config/abstract_builder.rb +28 -0
  18. data/lib/doorkeeper/config/option.rb +26 -14
  19. data/lib/doorkeeper/config/validations.rb +53 -0
  20. data/lib/doorkeeper/config.rb +182 -134
  21. data/lib/doorkeeper/engine.rb +10 -3
  22. data/lib/doorkeeper/grant_flow/fallback_flow.rb +15 -0
  23. data/lib/doorkeeper/grant_flow/flow.rb +44 -0
  24. data/lib/doorkeeper/grant_flow/registry.rb +50 -0
  25. data/lib/doorkeeper/grant_flow.rb +45 -0
  26. data/lib/doorkeeper/grape/helpers.rb +1 -1
  27. data/lib/doorkeeper/helpers/controller.rb +9 -5
  28. data/lib/doorkeeper/models/access_grant_mixin.rb +22 -19
  29. data/lib/doorkeeper/models/access_token_mixin.rb +115 -52
  30. data/lib/doorkeeper/models/application_mixin.rb +5 -4
  31. data/lib/doorkeeper/models/concerns/expirable.rb +1 -1
  32. data/lib/doorkeeper/models/concerns/expiration_time_sql_math.rb +88 -0
  33. data/lib/doorkeeper/models/concerns/polymorphic_resource_owner.rb +30 -0
  34. data/lib/doorkeeper/models/concerns/resource_ownerable.rb +47 -0
  35. data/lib/doorkeeper/models/concerns/revocable.rb +1 -1
  36. data/lib/doorkeeper/models/concerns/scopes.rb +5 -1
  37. data/lib/doorkeeper/models/concerns/secret_storable.rb +1 -3
  38. data/lib/doorkeeper/oauth/authorization/code.rb +25 -6
  39. data/lib/doorkeeper/oauth/authorization/context.rb +5 -5
  40. data/lib/doorkeeper/oauth/authorization/token.rb +24 -16
  41. data/lib/doorkeeper/oauth/authorization/uri_builder.rb +4 -4
  42. data/lib/doorkeeper/oauth/authorization_code_request.rb +34 -21
  43. data/lib/doorkeeper/oauth/base_request.rb +19 -26
  44. data/lib/doorkeeper/oauth/client/credentials.rb +2 -4
  45. data/lib/doorkeeper/oauth/client.rb +1 -1
  46. data/lib/doorkeeper/oauth/client_credentials/creator.rb +31 -15
  47. data/lib/doorkeeper/oauth/client_credentials/issuer.rb +4 -2
  48. data/lib/doorkeeper/oauth/client_credentials/validator.rb +5 -4
  49. data/lib/doorkeeper/oauth/client_credentials_request.rb +8 -7
  50. data/lib/doorkeeper/oauth/code_request.rb +4 -4
  51. data/lib/doorkeeper/oauth/code_response.rb +22 -12
  52. data/lib/doorkeeper/oauth/error_response.rb +7 -9
  53. data/lib/doorkeeper/oauth/forbidden_token_response.rb +2 -1
  54. data/lib/doorkeeper/oauth/helpers/scope_checker.rb +2 -8
  55. data/lib/doorkeeper/oauth/helpers/unique_token.rb +2 -2
  56. data/lib/doorkeeper/oauth/helpers/uri_checker.rb +4 -22
  57. data/lib/doorkeeper/oauth/hooks/context.rb +21 -0
  58. data/lib/doorkeeper/oauth/invalid_token_response.rb +2 -2
  59. data/lib/doorkeeper/oauth/password_access_token_request.rb +26 -8
  60. data/lib/doorkeeper/oauth/pre_authorization.rb +65 -33
  61. data/lib/doorkeeper/oauth/refresh_token_request.rb +42 -25
  62. data/lib/doorkeeper/oauth/token.rb +5 -6
  63. data/lib/doorkeeper/oauth/token_introspection.rb +8 -12
  64. data/lib/doorkeeper/oauth/token_request.rb +3 -3
  65. data/lib/doorkeeper/oauth/token_response.rb +2 -3
  66. data/lib/doorkeeper/orm/active_record/mixins/access_grant.rb +14 -4
  67. data/lib/doorkeeper/orm/active_record/mixins/access_token.rb +34 -4
  68. data/lib/doorkeeper/orm/active_record/mixins/application.rb +28 -5
  69. data/lib/doorkeeper/orm/active_record/redirect_uri_validator.rb +6 -1
  70. data/lib/doorkeeper/orm/active_record/stale_records_cleaner.rb +5 -2
  71. data/lib/doorkeeper/orm/active_record.rb +30 -38
  72. data/lib/doorkeeper/rails/routes/abstract_router.rb +35 -0
  73. data/lib/doorkeeper/rails/routes/mapper.rb +2 -2
  74. data/lib/doorkeeper/rails/routes/registry.rb +45 -0
  75. data/lib/doorkeeper/rails/routes.rb +25 -22
  76. data/lib/doorkeeper/rake/db.rake +3 -3
  77. data/lib/doorkeeper/request/password.rb +1 -0
  78. data/lib/doorkeeper/request/refresh_token.rb +2 -1
  79. data/lib/doorkeeper/request/strategy.rb +2 -2
  80. data/lib/doorkeeper/request.rb +49 -12
  81. data/lib/doorkeeper/server.rb +4 -4
  82. data/lib/doorkeeper/stale_records_cleaner.rb +4 -4
  83. data/lib/doorkeeper/version.rb +2 -6
  84. data/lib/doorkeeper.rb +181 -81
  85. data/lib/generators/doorkeeper/confidential_applications_generator.rb +1 -1
  86. data/lib/generators/doorkeeper/enable_polymorphic_resource_owner_generator.rb +39 -0
  87. data/lib/generators/doorkeeper/templates/add_owner_to_application_migration.rb.erb +3 -1
  88. data/lib/generators/doorkeeper/templates/add_previous_refresh_token_to_access_tokens.rb.erb +2 -0
  89. data/lib/generators/doorkeeper/templates/enable_pkce_migration.rb.erb +2 -0
  90. data/lib/generators/doorkeeper/templates/enable_polymorphic_resource_owner_migration.rb.erb +17 -0
  91. data/lib/generators/doorkeeper/templates/initializer.rb +73 -17
  92. data/lib/generators/doorkeeper/templates/migration.rb.erb +28 -9
  93. metadata +48 -316
  94. data/Appraisals +0 -40
  95. data/CODE_OF_CONDUCT.md +0 -46
  96. data/CONTRIBUTING.md +0 -49
  97. data/Dangerfile +0 -67
  98. data/Dockerfile +0 -29
  99. data/Gemfile +0 -25
  100. data/NEWS.md +0 -1
  101. data/RELEASING.md +0 -11
  102. data/Rakefile +0 -28
  103. data/SECURITY.md +0 -15
  104. data/UPGRADE.md +0 -2
  105. data/bin/console +0 -16
  106. data/doorkeeper.gemspec +0 -42
  107. data/gemfiles/rails_5_0.gemfile +0 -18
  108. data/gemfiles/rails_5_1.gemfile +0 -18
  109. data/gemfiles/rails_5_2.gemfile +0 -18
  110. data/gemfiles/rails_6_0.gemfile +0 -18
  111. data/gemfiles/rails_master.gemfile +0 -18
  112. data/spec/controllers/application_metal_controller_spec.rb +0 -64
  113. data/spec/controllers/applications_controller_spec.rb +0 -274
  114. data/spec/controllers/authorizations_controller_spec.rb +0 -608
  115. data/spec/controllers/protected_resources_controller_spec.rb +0 -361
  116. data/spec/controllers/token_info_controller_spec.rb +0 -50
  117. data/spec/controllers/tokens_controller_spec.rb +0 -498
  118. data/spec/dummy/Rakefile +0 -9
  119. data/spec/dummy/app/assets/config/manifest.js +0 -2
  120. data/spec/dummy/app/controllers/application_controller.rb +0 -5
  121. data/spec/dummy/app/controllers/custom_authorizations_controller.rb +0 -9
  122. data/spec/dummy/app/controllers/full_protected_resources_controller.rb +0 -14
  123. data/spec/dummy/app/controllers/home_controller.rb +0 -18
  124. data/spec/dummy/app/controllers/metal_controller.rb +0 -13
  125. data/spec/dummy/app/controllers/semi_protected_resources_controller.rb +0 -13
  126. data/spec/dummy/app/helpers/application_helper.rb +0 -7
  127. data/spec/dummy/app/models/user.rb +0 -7
  128. data/spec/dummy/app/views/home/index.html.erb +0 -0
  129. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  130. data/spec/dummy/config/application.rb +0 -49
  131. data/spec/dummy/config/boot.rb +0 -7
  132. data/spec/dummy/config/database.yml +0 -15
  133. data/spec/dummy/config/environment.rb +0 -5
  134. data/spec/dummy/config/environments/development.rb +0 -31
  135. data/spec/dummy/config/environments/production.rb +0 -64
  136. data/spec/dummy/config/environments/test.rb +0 -45
  137. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -9
  138. data/spec/dummy/config/initializers/doorkeeper.rb +0 -166
  139. data/spec/dummy/config/initializers/secret_token.rb +0 -10
  140. data/spec/dummy/config/initializers/session_store.rb +0 -10
  141. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -16
  142. data/spec/dummy/config/locales/doorkeeper.en.yml +0 -5
  143. data/spec/dummy/config/routes.rb +0 -13
  144. data/spec/dummy/config.ru +0 -6
  145. data/spec/dummy/db/migrate/20111122132257_create_users.rb +0 -11
  146. data/spec/dummy/db/migrate/20120312140401_add_password_to_users.rb +0 -7
  147. data/spec/dummy/db/migrate/20151223192035_create_doorkeeper_tables.rb +0 -69
  148. data/spec/dummy/db/migrate/20151223200000_add_owner_to_application.rb +0 -9
  149. data/spec/dummy/db/migrate/20160320211015_add_previous_refresh_token_to_access_tokens.rb +0 -13
  150. data/spec/dummy/db/migrate/20170822064514_enable_pkce.rb +0 -8
  151. data/spec/dummy/db/migrate/20180210183654_add_confidential_to_applications.rb +0 -13
  152. data/spec/dummy/db/schema.rb +0 -68
  153. data/spec/dummy/public/404.html +0 -26
  154. data/spec/dummy/public/422.html +0 -26
  155. data/spec/dummy/public/500.html +0 -26
  156. data/spec/dummy/public/favicon.ico +0 -0
  157. data/spec/dummy/script/rails +0 -9
  158. data/spec/factories.rb +0 -30
  159. data/spec/generators/application_owner_generator_spec.rb +0 -28
  160. data/spec/generators/confidential_applications_generator_spec.rb +0 -29
  161. data/spec/generators/install_generator_spec.rb +0 -36
  162. data/spec/generators/migration_generator_spec.rb +0 -28
  163. data/spec/generators/pkce_generator_spec.rb +0 -28
  164. data/spec/generators/previous_refresh_token_generator_spec.rb +0 -44
  165. data/spec/generators/templates/routes.rb +0 -4
  166. data/spec/generators/views_generator_spec.rb +0 -29
  167. data/spec/grape/grape_integration_spec.rb +0 -137
  168. data/spec/helpers/doorkeeper/dashboard_helper_spec.rb +0 -26
  169. data/spec/lib/config_spec.rb +0 -809
  170. data/spec/lib/doorkeeper_spec.rb +0 -27
  171. data/spec/lib/models/expirable_spec.rb +0 -61
  172. data/spec/lib/models/reusable_spec.rb +0 -40
  173. data/spec/lib/models/revocable_spec.rb +0 -59
  174. data/spec/lib/models/scopes_spec.rb +0 -53
  175. data/spec/lib/models/secret_storable_spec.rb +0 -135
  176. data/spec/lib/oauth/authorization/uri_builder_spec.rb +0 -39
  177. data/spec/lib/oauth/authorization_code_request_spec.rb +0 -170
  178. data/spec/lib/oauth/base_request_spec.rb +0 -224
  179. data/spec/lib/oauth/base_response_spec.rb +0 -45
  180. data/spec/lib/oauth/client/credentials_spec.rb +0 -90
  181. data/spec/lib/oauth/client_credentials/creator_spec.rb +0 -134
  182. data/spec/lib/oauth/client_credentials/issuer_spec.rb +0 -112
  183. data/spec/lib/oauth/client_credentials/validation_spec.rb +0 -59
  184. data/spec/lib/oauth/client_credentials_integration_spec.rb +0 -27
  185. data/spec/lib/oauth/client_credentials_request_spec.rb +0 -107
  186. data/spec/lib/oauth/client_spec.rb +0 -38
  187. data/spec/lib/oauth/code_request_spec.rb +0 -46
  188. data/spec/lib/oauth/code_response_spec.rb +0 -32
  189. data/spec/lib/oauth/error_response_spec.rb +0 -64
  190. data/spec/lib/oauth/error_spec.rb +0 -21
  191. data/spec/lib/oauth/forbidden_token_response_spec.rb +0 -20
  192. data/spec/lib/oauth/helpers/scope_checker_spec.rb +0 -110
  193. data/spec/lib/oauth/helpers/unique_token_spec.rb +0 -21
  194. data/spec/lib/oauth/helpers/uri_checker_spec.rb +0 -262
  195. data/spec/lib/oauth/invalid_request_response_spec.rb +0 -73
  196. data/spec/lib/oauth/invalid_token_response_spec.rb +0 -53
  197. data/spec/lib/oauth/password_access_token_request_spec.rb +0 -190
  198. data/spec/lib/oauth/pre_authorization_spec.rb +0 -223
  199. data/spec/lib/oauth/refresh_token_request_spec.rb +0 -177
  200. data/spec/lib/oauth/scopes_spec.rb +0 -146
  201. data/spec/lib/oauth/token_request_spec.rb +0 -157
  202. data/spec/lib/oauth/token_response_spec.rb +0 -84
  203. data/spec/lib/oauth/token_spec.rb +0 -156
  204. data/spec/lib/request/strategy_spec.rb +0 -54
  205. data/spec/lib/secret_storing/base_spec.rb +0 -60
  206. data/spec/lib/secret_storing/bcrypt_spec.rb +0 -49
  207. data/spec/lib/secret_storing/plain_spec.rb +0 -44
  208. data/spec/lib/secret_storing/sha256_hash_spec.rb +0 -48
  209. data/spec/lib/server_spec.rb +0 -49
  210. data/spec/lib/stale_records_cleaner_spec.rb +0 -89
  211. data/spec/models/doorkeeper/access_grant_spec.rb +0 -161
  212. data/spec/models/doorkeeper/access_token_spec.rb +0 -622
  213. data/spec/models/doorkeeper/application_spec.rb +0 -482
  214. data/spec/requests/applications/applications_request_spec.rb +0 -259
  215. data/spec/requests/applications/authorized_applications_spec.rb +0 -32
  216. data/spec/requests/endpoints/authorization_spec.rb +0 -91
  217. data/spec/requests/endpoints/token_spec.rb +0 -75
  218. data/spec/requests/flows/authorization_code_errors_spec.rb +0 -79
  219. data/spec/requests/flows/authorization_code_spec.rb +0 -525
  220. data/spec/requests/flows/client_credentials_spec.rb +0 -166
  221. data/spec/requests/flows/implicit_grant_errors_spec.rb +0 -46
  222. data/spec/requests/flows/implicit_grant_spec.rb +0 -91
  223. data/spec/requests/flows/password_spec.rb +0 -316
  224. data/spec/requests/flows/refresh_token_spec.rb +0 -233
  225. data/spec/requests/flows/revoke_token_spec.rb +0 -157
  226. data/spec/requests/flows/skip_authorization_spec.rb +0 -66
  227. data/spec/requests/protected_resources/metal_spec.rb +0 -16
  228. data/spec/requests/protected_resources/private_api_spec.rb +0 -83
  229. data/spec/routing/custom_controller_routes_spec.rb +0 -133
  230. data/spec/routing/default_routes_spec.rb +0 -41
  231. data/spec/routing/scoped_routes_spec.rb +0 -47
  232. data/spec/spec_helper.rb +0 -54
  233. data/spec/spec_helper_integration.rb +0 -4
  234. data/spec/support/dependencies/factory_bot.rb +0 -4
  235. data/spec/support/doorkeeper_rspec.rb +0 -22
  236. data/spec/support/helpers/access_token_request_helper.rb +0 -13
  237. data/spec/support/helpers/authorization_request_helper.rb +0 -43
  238. data/spec/support/helpers/config_helper.rb +0 -11
  239. data/spec/support/helpers/model_helper.rb +0 -78
  240. data/spec/support/helpers/request_spec_helper.rb +0 -110
  241. data/spec/support/helpers/url_helper.rb +0 -62
  242. data/spec/support/orm/active_record.rb +0 -5
  243. data/spec/support/shared/controllers_shared_context.rb +0 -133
  244. data/spec/support/shared/hashing_shared_context.rb +0 -36
  245. data/spec/support/shared/models_shared_examples.rb +0 -54
  246. data/spec/validators/redirect_uri_validator_spec.rb +0 -183
  247. data/spec/version/version_spec.rb +0 -17
data/Dangerfile DELETED
@@ -1,67 +0,0 @@
1
- CHANGELOG_FILE = 'CHANGELOG.md'
2
- GITHUB_REPO = 'https://github.com/doorkeeper-gem/doorkeeper'
3
-
4
- def changelog_changed?
5
- git.modified_files.include?(CHANGELOG_FILE) || git.added_files.include?(CHANGELOG_FILE)
6
- end
7
-
8
- def changelog_entry_example
9
- pr_number = github.pr_json['number']
10
- pr_title = github.pr_title
11
- .sub(/[?.!,;]?$/, '')
12
- .capitalize
13
-
14
- "- [##{pr_number}] #{pr_title}."
15
- end
16
-
17
- # --------------------------------------------------------------------------------------------------------------------
18
- # Has any changes happened inside the actual library code?
19
- # --------------------------------------------------------------------------------------------------------------------
20
- has_app_changes = !git.modified_files.grep(/lib|app/).empty?
21
- has_spec_changes = !git.modified_files.grep(/spec/).empty?
22
-
23
- # --------------------------------------------------------------------------------------------------------------------
24
- # You've made changes to lib, but didn't write any tests?
25
- # --------------------------------------------------------------------------------------------------------------------
26
- if has_app_changes && !has_spec_changes
27
- warn("There're library changes, but not tests. That's OK as long as you're refactoring existing code.", sticky: false)
28
- end
29
-
30
- # --------------------------------------------------------------------------------------------------------------------
31
- # You've made changes to specs, but no library code has changed?
32
- # --------------------------------------------------------------------------------------------------------------------
33
- if !has_app_changes && has_spec_changes
34
- message('We really appreciate pull requests that demonstrate issues, even without a fix. That said, the next step is to try and fix the failing tests!', sticky: false)
35
- end
36
-
37
- # Mainly to encourage writing up some reasoning about the PR, rather than
38
- # just leaving a title
39
- if github.pr_body.length < 10
40
- fail "Please provide a summary in the Pull Request description"
41
- end
42
-
43
- # --------------------------------------------------------------------------------------------------------------------
44
- # Have you updated CHANGELOG.md?
45
- # --------------------------------------------------------------------------------------------------------------------
46
- # Add a CHANGELOG entry for app changes
47
- if has_app_changes && !changelog_changed?
48
- markdown <<-MARKDOWN
49
- Here's an example of a #{CHANGELOG_FILE} entry:
50
- ```markdown
51
- #{changelog_entry_example}
52
- ```
53
- MARKDOWN
54
-
55
- warn(
56
- "Please include a changelog entry. \nYou can find it at [#{CHANGELOG_FILE}](#{GITHUB_REPO}/blob/master/#{CHANGELOG_FILE})." +
57
- "You can skip this warning only if you made some typo fix or other small changes that didn't affect the API."
58
- )
59
- end
60
-
61
- if git.commits.any? { |commit| commit.message =~ /^Merge branch '#{github.branch_for_base}'/ }
62
- warn('Please rebase to get rid of the merge commits in this PR')
63
- end
64
-
65
- if git.commits.length > 1
66
- warn('Please squash all your commits to a single one')
67
- end
data/Dockerfile DELETED
@@ -1,29 +0,0 @@
1
- FROM ruby:2.6.3-alpine3.9
2
-
3
- RUN apk add --no-cache \
4
- ca-certificates \
5
- wget \
6
- openssl \
7
- bash \
8
- build-base \
9
- git \
10
- sqlite-dev \
11
- tzdata
12
-
13
- ENV LANG en_US.UTF-8
14
- ENV LANGUAGE en_US:en
15
- ENV LC_ALL en_US.UTF-8
16
-
17
- ENV BUNDLER_VERSION 2.0.1
18
- RUN gem install bundler -v ${BUNDLER_VERSION} -i /usr/local/lib/ruby/gems/$(ls /usr/local/lib/ruby/gems) --force
19
-
20
- WORKDIR /srv
21
-
22
- COPY Gemfile doorkeeper.gemspec /srv/
23
- COPY lib/doorkeeper/version.rb /srv/lib/doorkeeper/version.rb
24
-
25
- RUN bundle install
26
-
27
- COPY . /srv/
28
-
29
- CMD ["rake"]
data/Gemfile DELETED
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
- git_source(:github) { |repo| "https://github.com/#{repo}.git" }
5
-
6
- gemspec
7
-
8
- gem "rails", "~> 6.0.0"
9
-
10
- # TODO: Remove when rspec-rails 4.0 released
11
- gem "rspec-core", github: "rspec/rspec-core"
12
- gem "rspec-expectations", github: "rspec/rspec-expectations"
13
- gem "rspec-mocks", github: "rspec/rspec-mocks"
14
- gem "rspec-rails", "4.0.0.beta3"
15
- gem "rspec-support", github: "rspec/rspec-support"
16
-
17
- gem "rubocop", "~> 0.75"
18
- gem "rubocop-performance"
19
-
20
- gem "bcrypt", "~> 3.1", require: false
21
-
22
- gem "activerecord-jdbcsqlite3-adapter", platform: :jruby
23
- gem "sqlite3", "~> 1.4", platform: %i[ruby mswin mingw x64_mingw]
24
-
25
- gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw]
data/NEWS.md DELETED
@@ -1 +0,0 @@
1
- Document moved [here](CHANGELOG.md)
data/RELEASING.md DELETED
@@ -1,11 +0,0 @@
1
- # Releasing Doorkeeper
2
-
3
- How to release Doorkeeper in five easy steps!
4
-
5
- 1. Update `lib/doorkeeper/version.rb` file accordingly.
6
- 2. Update `CHANGELOG.md` to reflect the changes since last release.
7
- 3. Commit changes: `git commit -am 'Bump to vVERSION'`.
8
- 4. Build and publish the gem.
9
- 4. Create GitHub release.
10
- 5. Announce the new release, making sure to say “thank you” to the contributors
11
- who helped shape this version!
data/Rakefile DELETED
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "bundler/setup"
4
- require "rspec/core/rake_task"
5
-
6
- desc "Default: run specs."
7
- task default: :spec
8
-
9
- desc "Run all specs"
10
- RSpec::Core::RakeTask.new(:spec) do |config|
11
- config.verbose = false
12
- end
13
-
14
- namespace :doorkeeper do
15
- desc "Install doorkeeper in dummy app"
16
- task :install do
17
- cd "spec/dummy"
18
- system "bundle exec rails g doorkeeper:install --force"
19
- end
20
-
21
- desc "Runs local test server"
22
- task :server do
23
- cd "spec/dummy"
24
- system "bundle exec rails server"
25
- end
26
- end
27
-
28
- Bundler::GemHelper.install_tasks
data/SECURITY.md DELETED
@@ -1,15 +0,0 @@
1
- # Reporting security issues in Doorkeeper
2
-
3
- Hello! Thank you for wanting to disclose a possible security
4
- vulnerability within the Doorkeeper gem! Please follow our disclosure
5
- policy as outlined below:
6
-
7
- 1. Do NOT open up a GitHub issue with your report. Security reports
8
- should be kept private until a possible fix is determined.
9
- 2. Send an email to Nikita Bulai at bulaj.nikita AT gmail.com or one of
10
- the others Doorkeeper maintainers listed in gemspec. You should receive
11
- a prompt response.
12
- 3. Be patient. Since Doorkeeper is in a stable maintenance phase, we want to
13
- do as little as possible to rock the boat of the project.
14
-
15
- Thank you very much for adhering for these policies!
data/UPGRADE.md DELETED
@@ -1,2 +0,0 @@
1
- See [Upgrade Guides](https://github.com/doorkeeper-gem/doorkeeper/wiki/Migration-from-old-versions)
2
- in the project Wiki.
data/bin/console DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require "bundler/setup"
5
- require "rails/all"
6
- require "doorkeeper"
7
-
8
- # You can add fixtures and/or initialization code here to make experimenting
9
- # with your gem easier. You can also use a different console, if you like.
10
-
11
- # (If you use this, don't forget to add pry to your Gemfile!)
12
- # require "pry"
13
- # Pry.start
14
-
15
- require "irb"
16
- IRB.start(__FILE__)
data/doorkeeper.gemspec DELETED
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- $LOAD_PATH.push File.expand_path("lib", __dir__)
4
-
5
- require "doorkeeper/version"
6
-
7
- Gem::Specification.new do |gem|
8
- gem.name = "doorkeeper"
9
- gem.version = Doorkeeper.gem_version
10
- gem.authors = ["Felipe Elias Philipp", "Tute Costa", "Jon Moss", "Nikita Bulai"]
11
- gem.email = %w[bulaj.nikita@gmail.com]
12
- gem.homepage = "https://github.com/doorkeeper-gem/doorkeeper"
13
- gem.summary = "OAuth 2 provider for Rails and Grape"
14
- gem.description = "Doorkeeper is an OAuth 2 provider for Rails and Grape."
15
- gem.license = "MIT"
16
-
17
- gem.files = `git ls-files`.split("\n").reject { |file| file.start_with?(".") }
18
- gem.test_files = `git ls-files -- spec/*`.split("\n")
19
- gem.require_paths = ["lib"]
20
-
21
- gem.metadata = {
22
- "homepage_uri" => "https://github.com/doorkeeper-gem/doorkeeper",
23
- "changelog_uri" => "https://github.com/doorkeeper-gem/doorkeeper/blob/master/CHANGELOG.md",
24
- "source_code_uri" => "https://github.com/doorkeeper-gem/doorkeeper",
25
- "bug_tracker_uri" => "https://github.com/doorkeeper-gem/doorkeeper/issues",
26
- "documentation_uri" => "https://doorkeeper.gitbook.io/guides/",
27
- }
28
-
29
- gem.add_dependency "railties", ">= 5"
30
- gem.required_ruby_version = ">= 2.4"
31
-
32
- gem.add_development_dependency "appraisal"
33
- gem.add_development_dependency "capybara"
34
- gem.add_development_dependency "coveralls"
35
- gem.add_development_dependency "danger", "~> 6.0"
36
- gem.add_development_dependency "database_cleaner", "~> 1.6"
37
- gem.add_development_dependency "factory_bot", "~> 5.0"
38
- gem.add_development_dependency "generator_spec", "~> 0.9.3"
39
- gem.add_development_dependency "grape"
40
- gem.add_development_dependency "rake", ">= 11.3.0"
41
- gem.add_development_dependency "rspec-rails"
42
- end
@@ -1,18 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "~> 5.0.0"
6
- gem "rspec-core", git: "https://github.com/rspec/rspec-core.git"
7
- gem "rspec-expectations", git: "https://github.com/rspec/rspec-expectations.git"
8
- gem "rspec-mocks", git: "https://github.com/rspec/rspec-mocks.git"
9
- gem "rspec-rails", "4.0.0.beta3"
10
- gem "rspec-support", git: "https://github.com/rspec/rspec-support.git"
11
- gem "rubocop", "~> 0.75"
12
- gem "rubocop-performance"
13
- gem "bcrypt", "~> 3.1", require: false
14
- gem "activerecord-jdbcsqlite3-adapter", platform: :jruby
15
- gem "sqlite3", "~> 1.3", "< 1.4", platform: [:ruby, :mswin, :mingw, :x64_mingw]
16
- gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw]
17
-
18
- gemspec path: "../"
@@ -1,18 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "~> 5.1.0"
6
- gem "rspec-core", git: "https://github.com/rspec/rspec-core.git"
7
- gem "rspec-expectations", git: "https://github.com/rspec/rspec-expectations.git"
8
- gem "rspec-mocks", git: "https://github.com/rspec/rspec-mocks.git"
9
- gem "rspec-rails", "4.0.0.beta3"
10
- gem "rspec-support", git: "https://github.com/rspec/rspec-support.git"
11
- gem "rubocop", "~> 0.75"
12
- gem "rubocop-performance"
13
- gem "bcrypt", "~> 3.1", require: false
14
- gem "activerecord-jdbcsqlite3-adapter", platform: :jruby
15
- gem "sqlite3", "~> 1.3", "< 1.4", platform: [:ruby, :mswin, :mingw, :x64_mingw]
16
- gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw]
17
-
18
- gemspec path: "../"
@@ -1,18 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "~> 5.2.0"
6
- gem "rspec-core", git: "https://github.com/rspec/rspec-core.git"
7
- gem "rspec-expectations", git: "https://github.com/rspec/rspec-expectations.git"
8
- gem "rspec-mocks", git: "https://github.com/rspec/rspec-mocks.git"
9
- gem "rspec-rails", "4.0.0.beta3"
10
- gem "rspec-support", git: "https://github.com/rspec/rspec-support.git"
11
- gem "rubocop", "~> 0.75"
12
- gem "rubocop-performance"
13
- gem "bcrypt", "~> 3.1", require: false
14
- gem "activerecord-jdbcsqlite3-adapter", platform: :jruby
15
- gem "sqlite3", "~> 1.3", "< 1.4", platform: [:ruby, :mswin, :mingw, :x64_mingw]
16
- gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw]
17
-
18
- gemspec path: "../"
@@ -1,18 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "~> 6.0.0"
6
- gem "rspec-core", git: "https://github.com/rspec/rspec-core.git"
7
- gem "rspec-expectations", git: "https://github.com/rspec/rspec-expectations.git"
8
- gem "rspec-mocks", git: "https://github.com/rspec/rspec-mocks.git"
9
- gem "rspec-rails", "4.0.0.beta3"
10
- gem "rspec-support", git: "https://github.com/rspec/rspec-support.git"
11
- gem "rubocop", "~> 0.75"
12
- gem "rubocop-performance"
13
- gem "bcrypt", "~> 3.1", require: false
14
- gem "activerecord-jdbcsqlite3-adapter", platform: :jruby
15
- gem "sqlite3", "~> 1.4", platform: [:ruby, :mswin, :mingw, :x64_mingw]
16
- gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw]
17
-
18
- gemspec path: "../"
@@ -1,18 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", git: "https://github.com/rails/rails"
6
- gem "rspec-core", git: "https://github.com/rspec/rspec-core.git"
7
- gem "rspec-expectations", git: "https://github.com/rspec/rspec-expectations.git"
8
- gem "rspec-mocks", git: "https://github.com/rspec/rspec-mocks.git"
9
- gem "rspec-rails", "4.0.0.beta3"
10
- gem "rspec-support", git: "https://github.com/rspec/rspec-support.git"
11
- gem "rubocop", "~> 0.75"
12
- gem "rubocop-performance"
13
- gem "bcrypt", "~> 3.1", require: false
14
- gem "activerecord-jdbcsqlite3-adapter", platform: :jruby
15
- gem "sqlite3", "~> 1.4", platform: [:ruby, :mswin, :mingw, :x64_mingw]
16
- gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw]
17
-
18
- gemspec path: "../"
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "spec_helper_integration"
4
-
5
- describe Doorkeeper::ApplicationMetalController do
6
- controller(Doorkeeper::ApplicationMetalController) do
7
- def index
8
- render json: {}, status: 200
9
- end
10
-
11
- def create
12
- render json: {}, status: 200
13
- end
14
- end
15
-
16
- it "lazy run hooks" do
17
- i = 0
18
- ActiveSupport.on_load(:doorkeeper_metal_controller) { i += 1 }
19
-
20
- expect(i).to eq 1
21
- end
22
-
23
- describe "enforce_content_type" do
24
- before { allow(Doorkeeper.config).to receive(:enforce_content_type).and_return(flag) }
25
-
26
- context "enabled" do
27
- let(:flag) { true }
28
-
29
- it "returns a 200 for the requests without body" do
30
- get :index, params: {}
31
- expect(response).to have_http_status 200
32
- end
33
-
34
- it "returns a 200 for the requests with body and correct media type" do
35
- post :create, params: {}, as: :url_encoded_form
36
- expect(response).to have_http_status 200
37
- end
38
-
39
- it "returns a 415 for the requests with body and incorrect media type" do
40
- post :create, params: {}, as: :json
41
- expect(response).to have_http_status 415
42
- end
43
- end
44
-
45
- context "disabled" do
46
- let(:flag) { false }
47
-
48
- it "returns a 200 for the correct media type" do
49
- get :index, as: :url_encoded_form
50
- expect(response).to have_http_status 200
51
- end
52
-
53
- it "returns a 200 for an incorrect media type" do
54
- get :index, as: :json
55
- expect(response).to have_http_status 200
56
- end
57
-
58
- it "returns a 200 for the requests with body and incorrect media type" do
59
- post :create, params: {}, as: :json
60
- expect(response).to have_http_status 200
61
- end
62
- end
63
- end
64
- end