doorkeeper 5.1.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Appraisals +3 -3
- data/CHANGELOG.md +881 -0
- data/CONTRIBUTING.md +11 -9
- data/Dangerfile +2 -2
- data/Dockerfile +29 -0
- data/Gemfile +4 -3
- data/NEWS.md +1 -814
- data/README.md +11 -3
- data/RELEASING.md +6 -5
- data/app/controllers/doorkeeper/application_controller.rb +2 -2
- data/app/controllers/doorkeeper/application_metal_controller.rb +3 -2
- data/app/controllers/doorkeeper/applications_controller.rb +1 -0
- data/app/controllers/doorkeeper/authorizations_controller.rb +16 -9
- data/app/controllers/doorkeeper/authorized_applications_controller.rb +2 -2
- data/app/controllers/doorkeeper/tokens_controller.rb +32 -9
- data/app/views/doorkeeper/applications/_form.html.erb +0 -6
- data/app/views/doorkeeper/applications/show.html.erb +1 -1
- data/config/locales/en.yml +8 -2
- data/doorkeeper.gemspec +9 -1
- data/gemfiles/rails_5_0.gemfile +3 -2
- data/gemfiles/rails_5_1.gemfile +3 -2
- data/gemfiles/rails_5_2.gemfile +3 -2
- data/gemfiles/rails_6_0.gemfile +4 -3
- data/gemfiles/rails_master.gemfile +3 -2
- data/lib/doorkeeper/config/option.rb +13 -7
- data/lib/doorkeeper/config.rb +157 -42
- data/lib/doorkeeper/errors.rb +13 -18
- data/lib/doorkeeper/grape/helpers.rb +6 -2
- data/lib/doorkeeper/helpers/controller.rb +28 -7
- data/lib/doorkeeper/models/access_grant_mixin.rb +7 -6
- data/lib/doorkeeper/models/access_token_mixin.rb +99 -20
- data/lib/doorkeeper/models/application_mixin.rb +3 -3
- data/lib/doorkeeper/models/concerns/ownership.rb +1 -1
- data/lib/doorkeeper/models/concerns/reusable.rb +1 -1
- data/lib/doorkeeper/models/concerns/revocable.rb +0 -27
- data/lib/doorkeeper/oauth/authorization/code.rb +12 -14
- data/lib/doorkeeper/oauth/authorization/token.rb +10 -7
- data/lib/doorkeeper/oauth/authorization_code_request.rb +31 -15
- data/lib/doorkeeper/oauth/base_request.rb +10 -4
- data/lib/doorkeeper/oauth/client.rb +7 -8
- data/lib/doorkeeper/oauth/client_credentials/creator.rb +23 -2
- data/lib/doorkeeper/oauth/client_credentials/issuer.rb +7 -7
- data/lib/doorkeeper/oauth/client_credentials/{validation.rb → validator.rb} +10 -2
- data/lib/doorkeeper/oauth/client_credentials_request.rb +1 -1
- data/lib/doorkeeper/oauth/code_request.rb +5 -11
- data/lib/doorkeeper/oauth/code_response.rb +4 -4
- data/lib/doorkeeper/oauth/error.rb +1 -1
- data/lib/doorkeeper/oauth/error_response.rb +6 -6
- data/lib/doorkeeper/oauth/helpers/scope_checker.rb +7 -5
- data/lib/doorkeeper/oauth/helpers/unique_token.rb +8 -5
- data/lib/doorkeeper/oauth/helpers/uri_checker.rb +19 -5
- data/lib/doorkeeper/oauth/invalid_request_response.rb +43 -0
- data/lib/doorkeeper/oauth/invalid_token_response.rb +5 -2
- data/lib/doorkeeper/oauth/nonstandard.rb +39 -0
- data/lib/doorkeeper/oauth/password_access_token_request.rb +9 -4
- data/lib/doorkeeper/oauth/pre_authorization.rb +76 -38
- data/lib/doorkeeper/oauth/refresh_token_request.rb +17 -14
- data/lib/doorkeeper/oauth/token.rb +2 -2
- data/lib/doorkeeper/oauth/token_introspection.rb +26 -16
- data/lib/doorkeeper/oauth/token_request.rb +4 -18
- data/lib/doorkeeper/orm/active_record/access_grant.rb +4 -43
- data/lib/doorkeeper/orm/active_record/access_token.rb +4 -35
- data/lib/doorkeeper/orm/active_record/application.rb +5 -83
- data/lib/doorkeeper/orm/active_record/mixins/access_grant.rb +53 -0
- data/lib/doorkeeper/orm/active_record/mixins/access_token.rb +47 -0
- data/lib/doorkeeper/orm/active_record/mixins/application.rb +128 -0
- data/lib/doorkeeper/orm/active_record/redirect_uri_validator.rb +61 -0
- data/lib/doorkeeper/orm/active_record.rb +21 -6
- data/lib/doorkeeper/rails/helpers.rb +4 -4
- data/lib/doorkeeper/rails/routes.rb +5 -7
- data/lib/doorkeeper/rake/db.rake +3 -3
- data/lib/doorkeeper/request/authorization_code.rb +5 -3
- data/lib/doorkeeper/request/client_credentials.rb +2 -2
- data/lib/doorkeeper/request/password.rb +2 -2
- data/lib/doorkeeper/request/refresh_token.rb +3 -3
- data/lib/doorkeeper/request.rb +7 -12
- data/lib/doorkeeper/server.rb +3 -7
- data/lib/doorkeeper/stale_records_cleaner.rb +6 -2
- data/lib/doorkeeper/version.rb +1 -1
- data/lib/doorkeeper.rb +6 -3
- data/lib/generators/doorkeeper/application_owner_generator.rb +1 -1
- data/lib/generators/doorkeeper/confidential_applications_generator.rb +1 -1
- data/lib/generators/doorkeeper/migration_generator.rb +1 -1
- data/lib/generators/doorkeeper/pkce_generator.rb +1 -1
- data/lib/generators/doorkeeper/previous_refresh_token_generator.rb +7 -7
- data/lib/generators/doorkeeper/templates/initializer.rb +149 -33
- data/lib/generators/doorkeeper/templates/migration.rb.erb +4 -1
- data/spec/controllers/application_metal_controller_spec.rb +1 -1
- data/spec/controllers/applications_controller_spec.rb +95 -1
- data/spec/controllers/authorizations_controller_spec.rb +156 -75
- data/spec/controllers/protected_resources_controller_spec.rb +28 -20
- data/spec/controllers/token_info_controller_spec.rb +1 -1
- data/spec/controllers/tokens_controller_spec.rb +206 -38
- data/spec/dummy/config/application.rb +3 -1
- data/spec/dummy/config/initializers/doorkeeper.rb +54 -9
- data/spec/dummy/db/migrate/20151223192035_create_doorkeeper_tables.rb +3 -3
- data/spec/dummy/db/migrate/20160320211015_add_previous_refresh_token_to_access_tokens.rb +1 -1
- data/spec/dummy/db/migrate/20180210183654_add_confidential_to_applications.rb +1 -1
- data/spec/generators/install_generator_spec.rb +1 -1
- data/spec/generators/previous_refresh_token_generator_spec.rb +2 -2
- data/spec/helpers/doorkeeper/dashboard_helper_spec.rb +1 -1
- data/spec/lib/config_spec.rb +104 -7
- data/spec/lib/doorkeeper_spec.rb +1 -1
- data/spec/lib/models/revocable_spec.rb +3 -3
- data/spec/lib/oauth/authorization_code_request_spec.rb +129 -115
- data/spec/lib/oauth/base_request_spec.rb +154 -135
- data/spec/lib/oauth/base_response_spec.rb +27 -29
- data/spec/lib/oauth/client/credentials_spec.rb +1 -1
- data/spec/lib/oauth/client_credentials/creator_spec.rb +43 -3
- data/spec/lib/oauth/client_credentials/issuer_spec.rb +12 -12
- data/spec/lib/oauth/client_credentials/validation_spec.rb +4 -4
- data/spec/lib/oauth/client_credentials_integration_spec.rb +16 -18
- data/spec/lib/oauth/client_credentials_request_spec.rb +78 -80
- data/spec/lib/oauth/client_spec.rb +26 -26
- data/spec/lib/oauth/code_request_spec.rb +34 -35
- data/spec/lib/oauth/code_response_spec.rb +21 -25
- data/spec/lib/oauth/error_response_spec.rb +42 -44
- data/spec/lib/oauth/error_spec.rb +12 -14
- data/spec/lib/oauth/forbidden_token_response_spec.rb +11 -13
- data/spec/lib/oauth/helpers/scope_checker_spec.rb +30 -18
- data/spec/lib/oauth/helpers/uri_checker_spec.rb +17 -2
- data/spec/lib/oauth/invalid_request_response_spec.rb +73 -0
- data/spec/lib/oauth/invalid_token_response_spec.rb +32 -34
- data/spec/lib/oauth/password_access_token_request_spec.rb +145 -147
- data/spec/lib/oauth/pre_authorization_spec.rb +161 -153
- data/spec/lib/oauth/refresh_token_request_spec.rb +138 -138
- data/spec/lib/oauth/scopes_spec.rb +104 -106
- data/spec/lib/oauth/token_request_spec.rb +117 -110
- data/spec/lib/oauth/token_response_spec.rb +71 -73
- data/spec/lib/oauth/token_spec.rb +121 -123
- data/spec/lib/server_spec.rb +0 -12
- data/spec/models/doorkeeper/access_grant_spec.rb +21 -4
- data/spec/models/doorkeeper/access_token_spec.rb +42 -11
- data/spec/models/doorkeeper/application_spec.rb +114 -77
- data/spec/requests/applications/applications_request_spec.rb +1 -1
- data/spec/requests/endpoints/authorization_spec.rb +26 -8
- data/spec/requests/endpoints/token_spec.rb +1 -1
- data/spec/requests/flows/authorization_code_errors_spec.rb +1 -0
- data/spec/requests/flows/authorization_code_spec.rb +123 -45
- data/spec/requests/flows/client_credentials_spec.rb +38 -0
- data/spec/requests/flows/implicit_grant_errors_spec.rb +22 -10
- data/spec/requests/flows/implicit_grant_spec.rb +9 -8
- data/spec/requests/flows/password_spec.rb +67 -10
- data/spec/requests/flows/refresh_token_spec.rb +20 -20
- data/spec/requests/flows/revoke_token_spec.rb +37 -23
- data/spec/spec_helper.rb +1 -4
- data/spec/support/doorkeeper_rspec.rb +1 -1
- data/spec/support/helpers/request_spec_helper.rb +14 -2
- data/spec/support/shared/controllers_shared_context.rb +33 -23
- data/spec/validators/redirect_uri_validator_spec.rb +41 -16
- metadata +19 -16
- data/.coveralls.yml +0 -1
- data/.github/ISSUE_TEMPLATE.md +0 -25
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -17
- data/.gitignore +0 -20
- data/.gitlab-ci.yml +0 -16
- data/.hound.yml +0 -3
- data/.rspec +0 -1
- data/.rubocop.yml +0 -50
- data/.travis.yml +0 -35
- data/app/validators/redirect_uri_validator.rb +0 -50
- data/spec/support/http_method_shim.rb +0 -29
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
|
+
version: 5.3.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:
|
|
14
|
+
date: 2020-01-29 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: railties
|
|
@@ -174,19 +174,12 @@ executables: []
|
|
|
174
174
|
extensions: []
|
|
175
175
|
extra_rdoc_files: []
|
|
176
176
|
files:
|
|
177
|
-
- ".coveralls.yml"
|
|
178
|
-
- ".github/ISSUE_TEMPLATE.md"
|
|
179
|
-
- ".github/PULL_REQUEST_TEMPLATE.md"
|
|
180
|
-
- ".gitignore"
|
|
181
|
-
- ".gitlab-ci.yml"
|
|
182
|
-
- ".hound.yml"
|
|
183
|
-
- ".rspec"
|
|
184
|
-
- ".rubocop.yml"
|
|
185
|
-
- ".travis.yml"
|
|
186
177
|
- Appraisals
|
|
178
|
+
- CHANGELOG.md
|
|
187
179
|
- CODE_OF_CONDUCT.md
|
|
188
180
|
- CONTRIBUTING.md
|
|
189
181
|
- Dangerfile
|
|
182
|
+
- Dockerfile
|
|
190
183
|
- Gemfile
|
|
191
184
|
- MIT-LICENSE
|
|
192
185
|
- NEWS.md
|
|
@@ -205,7 +198,6 @@ files:
|
|
|
205
198
|
- app/controllers/doorkeeper/token_info_controller.rb
|
|
206
199
|
- app/controllers/doorkeeper/tokens_controller.rb
|
|
207
200
|
- app/helpers/doorkeeper/dashboard_helper.rb
|
|
208
|
-
- app/validators/redirect_uri_validator.rb
|
|
209
201
|
- app/views/doorkeeper/applications/_delete_form.html.erb
|
|
210
202
|
- app/views/doorkeeper/applications/_form.html.erb
|
|
211
203
|
- app/views/doorkeeper/applications/edit.html.erb
|
|
@@ -258,7 +250,7 @@ files:
|
|
|
258
250
|
- lib/doorkeeper/oauth/client/credentials.rb
|
|
259
251
|
- lib/doorkeeper/oauth/client_credentials/creator.rb
|
|
260
252
|
- lib/doorkeeper/oauth/client_credentials/issuer.rb
|
|
261
|
-
- lib/doorkeeper/oauth/client_credentials/
|
|
253
|
+
- lib/doorkeeper/oauth/client_credentials/validator.rb
|
|
262
254
|
- lib/doorkeeper/oauth/client_credentials_request.rb
|
|
263
255
|
- lib/doorkeeper/oauth/code_request.rb
|
|
264
256
|
- lib/doorkeeper/oauth/code_response.rb
|
|
@@ -268,7 +260,9 @@ files:
|
|
|
268
260
|
- lib/doorkeeper/oauth/helpers/scope_checker.rb
|
|
269
261
|
- lib/doorkeeper/oauth/helpers/unique_token.rb
|
|
270
262
|
- lib/doorkeeper/oauth/helpers/uri_checker.rb
|
|
263
|
+
- lib/doorkeeper/oauth/invalid_request_response.rb
|
|
271
264
|
- lib/doorkeeper/oauth/invalid_token_response.rb
|
|
265
|
+
- lib/doorkeeper/oauth/nonstandard.rb
|
|
272
266
|
- lib/doorkeeper/oauth/password_access_token_request.rb
|
|
273
267
|
- lib/doorkeeper/oauth/pre_authorization.rb
|
|
274
268
|
- lib/doorkeeper/oauth/refresh_token_request.rb
|
|
@@ -281,6 +275,10 @@ files:
|
|
|
281
275
|
- lib/doorkeeper/orm/active_record/access_grant.rb
|
|
282
276
|
- lib/doorkeeper/orm/active_record/access_token.rb
|
|
283
277
|
- lib/doorkeeper/orm/active_record/application.rb
|
|
278
|
+
- lib/doorkeeper/orm/active_record/mixins/access_grant.rb
|
|
279
|
+
- lib/doorkeeper/orm/active_record/mixins/access_token.rb
|
|
280
|
+
- lib/doorkeeper/orm/active_record/mixins/application.rb
|
|
281
|
+
- lib/doorkeeper/orm/active_record/redirect_uri_validator.rb
|
|
284
282
|
- lib/doorkeeper/orm/active_record/stale_records_cleaner.rb
|
|
285
283
|
- lib/doorkeeper/rails/helpers.rb
|
|
286
284
|
- lib/doorkeeper/rails/routes.rb
|
|
@@ -402,6 +400,7 @@ files:
|
|
|
402
400
|
- spec/lib/oauth/helpers/scope_checker_spec.rb
|
|
403
401
|
- spec/lib/oauth/helpers/unique_token_spec.rb
|
|
404
402
|
- spec/lib/oauth/helpers/uri_checker_spec.rb
|
|
403
|
+
- spec/lib/oauth/invalid_request_response_spec.rb
|
|
405
404
|
- spec/lib/oauth/invalid_token_response_spec.rb
|
|
406
405
|
- spec/lib/oauth/password_access_token_request_spec.rb
|
|
407
406
|
- spec/lib/oauth/pre_authorization_spec.rb
|
|
@@ -448,7 +447,6 @@ files:
|
|
|
448
447
|
- spec/support/helpers/model_helper.rb
|
|
449
448
|
- spec/support/helpers/request_spec_helper.rb
|
|
450
449
|
- spec/support/helpers/url_helper.rb
|
|
451
|
-
- spec/support/http_method_shim.rb
|
|
452
450
|
- spec/support/orm/active_record.rb
|
|
453
451
|
- spec/support/shared/controllers_shared_context.rb
|
|
454
452
|
- spec/support/shared/hashing_shared_context.rb
|
|
@@ -459,7 +457,12 @@ files:
|
|
|
459
457
|
homepage: https://github.com/doorkeeper-gem/doorkeeper
|
|
460
458
|
licenses:
|
|
461
459
|
- MIT
|
|
462
|
-
metadata:
|
|
460
|
+
metadata:
|
|
461
|
+
homepage_uri: https://github.com/doorkeeper-gem/doorkeeper
|
|
462
|
+
changelog_uri: https://github.com/doorkeeper-gem/doorkeeper/blob/master/CHANGELOG.md
|
|
463
|
+
source_code_uri: https://github.com/doorkeeper-gem/doorkeeper
|
|
464
|
+
bug_tracker_uri: https://github.com/doorkeeper-gem/doorkeeper/issues
|
|
465
|
+
documentation_uri: https://doorkeeper.gitbook.io/guides/
|
|
463
466
|
post_install_message:
|
|
464
467
|
rdoc_options: []
|
|
465
468
|
require_paths:
|
|
@@ -563,6 +566,7 @@ test_files:
|
|
|
563
566
|
- spec/lib/oauth/helpers/scope_checker_spec.rb
|
|
564
567
|
- spec/lib/oauth/helpers/unique_token_spec.rb
|
|
565
568
|
- spec/lib/oauth/helpers/uri_checker_spec.rb
|
|
569
|
+
- spec/lib/oauth/invalid_request_response_spec.rb
|
|
566
570
|
- spec/lib/oauth/invalid_token_response_spec.rb
|
|
567
571
|
- spec/lib/oauth/password_access_token_request_spec.rb
|
|
568
572
|
- spec/lib/oauth/pre_authorization_spec.rb
|
|
@@ -609,7 +613,6 @@ test_files:
|
|
|
609
613
|
- spec/support/helpers/model_helper.rb
|
|
610
614
|
- spec/support/helpers/request_spec_helper.rb
|
|
611
615
|
- spec/support/helpers/url_helper.rb
|
|
612
|
-
- spec/support/http_method_shim.rb
|
|
613
616
|
- spec/support/orm/active_record.rb
|
|
614
617
|
- spec/support/shared/controllers_shared_context.rb
|
|
615
618
|
- spec/support/shared/hashing_shared_context.rb
|
data/.coveralls.yml
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
service_name: travis-ci
|
data/.github/ISSUE_TEMPLATE.md
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
### Steps to reproduce
|
|
2
|
-
What we need to do to see your problem or bug?
|
|
3
|
-
|
|
4
|
-
The more detailed the issue, the more likely that we will fix it ASAP.
|
|
5
|
-
|
|
6
|
-
Don't use GitHub issues for questions like "How can I do that?" —
|
|
7
|
-
use [StackOverflow](https://stackoverflow.com/questions/tagged/doorkeeper)
|
|
8
|
-
instead with the corresponding tag.
|
|
9
|
-
|
|
10
|
-
### Expected behavior
|
|
11
|
-
Tell us what should happen
|
|
12
|
-
|
|
13
|
-
### Actual behavior
|
|
14
|
-
Tell us what happens instead
|
|
15
|
-
|
|
16
|
-
### System configuration
|
|
17
|
-
You can help us to understand your problem if you will share some very
|
|
18
|
-
useful information about your project environment (don't forget to
|
|
19
|
-
remove any confidential data if it exists).
|
|
20
|
-
|
|
21
|
-
**Doorkeeper initializer**:
|
|
22
|
-
|
|
23
|
-
**Ruby version**:
|
|
24
|
-
|
|
25
|
-
**Gemfile.lock**:
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
### Summary
|
|
2
|
-
|
|
3
|
-
Provide a general description of the code changes in your pull
|
|
4
|
-
request... were there any bugs you had fixed? If so, mention them. If
|
|
5
|
-
these bugs have open GitHub issues, be sure to tag them here as well,
|
|
6
|
-
to keep the conversation linked together.
|
|
7
|
-
|
|
8
|
-
### Other Information
|
|
9
|
-
|
|
10
|
-
If there's anything else that's important and relevant to your pull
|
|
11
|
-
request, mention that information here. This could include
|
|
12
|
-
benchmarks, or other information.
|
|
13
|
-
|
|
14
|
-
If you are updating NEWS.md file or are asked to update it by reviewers,
|
|
15
|
-
please add the changelog entry at the top of the file.
|
|
16
|
-
|
|
17
|
-
Thanks for contributing to Doorkeeper project!
|
data/.gitignore
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
.bundle/
|
|
2
|
-
.rbx
|
|
3
|
-
*.rbc
|
|
4
|
-
log/*.log
|
|
5
|
-
pkg/
|
|
6
|
-
spec/dummy/db/*.sqlite3
|
|
7
|
-
spec/dummy/log/*.log
|
|
8
|
-
spec/dummy/tmp/
|
|
9
|
-
spec/generators/tmp
|
|
10
|
-
Gemfile.lock
|
|
11
|
-
gemfiles/*.lock
|
|
12
|
-
.rvmrc
|
|
13
|
-
*.swp
|
|
14
|
-
.idea
|
|
15
|
-
/.yardoc/
|
|
16
|
-
/_yardoc/
|
|
17
|
-
/doc/
|
|
18
|
-
/rdoc/
|
|
19
|
-
coverage
|
|
20
|
-
*.gem
|
data/.gitlab-ci.yml
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
dependency_scanning:
|
|
2
|
-
image: docker:stable
|
|
3
|
-
variables:
|
|
4
|
-
DOCKER_DRIVER: overlay2
|
|
5
|
-
allow_failure: true
|
|
6
|
-
services:
|
|
7
|
-
- docker:stable-dind
|
|
8
|
-
script:
|
|
9
|
-
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
|
|
10
|
-
- docker run
|
|
11
|
-
--env DEP_SCAN_DISABLE_REMOTE_CHECKS="${DEP_SCAN_DISABLE_REMOTE_CHECKS:-false}"
|
|
12
|
-
--volume "$PWD:/code"
|
|
13
|
-
--volume /var/run/docker.sock:/var/run/docker.sock
|
|
14
|
-
"registry.gitlab.com/gitlab-org/security-products/dependency-scanning:$SP_VERSION" /code
|
|
15
|
-
artifacts:
|
|
16
|
-
paths: [gl-dependency-scanning-report.json]
|
data/.hound.yml
DELETED
data/.rspec
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
--colour
|
data/.rubocop.yml
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
AllCops:
|
|
2
|
-
TargetRubyVersion: 2.4
|
|
3
|
-
Exclude:
|
|
4
|
-
- "spec/dummy/db/*"
|
|
5
|
-
- "spec/dummy/config/*"
|
|
6
|
-
- "Dangerfile"
|
|
7
|
-
- "gemfiles/*.gemfile"
|
|
8
|
-
|
|
9
|
-
Metrics/BlockLength:
|
|
10
|
-
Exclude:
|
|
11
|
-
- spec/**/*
|
|
12
|
-
- lib/doorkeeper/rake/*
|
|
13
|
-
|
|
14
|
-
Metrics/LineLength:
|
|
15
|
-
Exclude:
|
|
16
|
-
- spec/**/*
|
|
17
|
-
Max: 100
|
|
18
|
-
|
|
19
|
-
Metrics/MethodLength:
|
|
20
|
-
Exclude:
|
|
21
|
-
- spec/dummy/db/*
|
|
22
|
-
|
|
23
|
-
Style/StringLiterals:
|
|
24
|
-
EnforcedStyle: double_quotes
|
|
25
|
-
Style/StringLiteralsInInterpolation:
|
|
26
|
-
EnforcedStyle: double_quotes
|
|
27
|
-
|
|
28
|
-
Style/FrozenStringLiteralComment:
|
|
29
|
-
Enabled: true
|
|
30
|
-
|
|
31
|
-
Style/TrailingCommaInHashLiteral:
|
|
32
|
-
EnforcedStyleForMultiline: consistent_comma
|
|
33
|
-
Style/TrailingCommaInArrayLiteral:
|
|
34
|
-
EnforcedStyleForMultiline: consistent_comma
|
|
35
|
-
|
|
36
|
-
Style/SymbolArray:
|
|
37
|
-
MinSize: 3
|
|
38
|
-
Style/WordArray:
|
|
39
|
-
MinSize: 3
|
|
40
|
-
|
|
41
|
-
Style/ClassAndModuleChildren:
|
|
42
|
-
Exclude:
|
|
43
|
-
- spec/**/*
|
|
44
|
-
|
|
45
|
-
Layout/MultilineMethodCallIndentation:
|
|
46
|
-
EnforcedStyle: indented
|
|
47
|
-
Layout/TrailingBlankLines:
|
|
48
|
-
Enabled: true
|
|
49
|
-
Layout/DotPosition:
|
|
50
|
-
EnforcedStyle: leading
|
data/.travis.yml
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
cache: bundler
|
|
3
|
-
|
|
4
|
-
rvm:
|
|
5
|
-
- 2.4
|
|
6
|
-
- 2.5
|
|
7
|
-
- 2.6
|
|
8
|
-
- ruby-head
|
|
9
|
-
|
|
10
|
-
#before_install:
|
|
11
|
-
# - gem update --system
|
|
12
|
-
# - gem install bundler
|
|
13
|
-
|
|
14
|
-
gemfile:
|
|
15
|
-
- gemfiles/rails_5_0.gemfile
|
|
16
|
-
- gemfiles/rails_5_1.gemfile
|
|
17
|
-
- gemfiles/rails_5_2.gemfile
|
|
18
|
-
- gemfiles/rails_6_0.gemfile
|
|
19
|
-
- gemfiles/rails_master.gemfile
|
|
20
|
-
|
|
21
|
-
matrix:
|
|
22
|
-
fast_finish: true
|
|
23
|
-
# Run Danger only once
|
|
24
|
-
include:
|
|
25
|
-
- rvm: 2.5
|
|
26
|
-
gemfile: gemfiles/rails_5_2.gemfile
|
|
27
|
-
script: bundle exec danger
|
|
28
|
-
exclude:
|
|
29
|
-
- gemfile: gemfiles/rails_6_0.gemfile
|
|
30
|
-
rvm: 2.4
|
|
31
|
-
- gemfile: gemfiles/rails_master.gemfile
|
|
32
|
-
rvm: 2.4
|
|
33
|
-
allow_failures:
|
|
34
|
-
- gemfile: gemfiles/rails_master.gemfile
|
|
35
|
-
- rvm: ruby-head
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "uri"
|
|
4
|
-
|
|
5
|
-
class RedirectUriValidator < ActiveModel::EachValidator
|
|
6
|
-
def self.native_redirect_uri
|
|
7
|
-
Doorkeeper.configuration.native_redirect_uri
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def validate_each(record, attribute, value)
|
|
11
|
-
if value.blank?
|
|
12
|
-
return if Doorkeeper.configuration.allow_blank_redirect_uri?(record)
|
|
13
|
-
|
|
14
|
-
record.errors.add(attribute, :blank)
|
|
15
|
-
else
|
|
16
|
-
value.split.each do |val|
|
|
17
|
-
uri = ::URI.parse(val)
|
|
18
|
-
next if native_redirect_uri?(uri)
|
|
19
|
-
|
|
20
|
-
record.errors.add(attribute, :forbidden_uri) if forbidden_uri?(uri)
|
|
21
|
-
record.errors.add(attribute, :fragment_present) unless uri.fragment.nil?
|
|
22
|
-
record.errors.add(attribute, :relative_uri) if uri.scheme.nil? || uri.host.nil?
|
|
23
|
-
record.errors.add(attribute, :secured_uri) if invalid_ssl_uri?(uri)
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
rescue URI::InvalidURIError
|
|
27
|
-
record.errors.add(attribute, :invalid_uri)
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
private
|
|
31
|
-
|
|
32
|
-
def native_redirect_uri?(uri)
|
|
33
|
-
self.class.native_redirect_uri.present? && uri.to_s == self.class.native_redirect_uri.to_s
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def forbidden_uri?(uri)
|
|
37
|
-
Doorkeeper.configuration.forbid_redirect_uri.call(uri)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def invalid_ssl_uri?(uri)
|
|
41
|
-
forces_ssl = Doorkeeper.configuration.force_ssl_in_redirect_uri
|
|
42
|
-
non_https = uri.try(:scheme) == "http"
|
|
43
|
-
|
|
44
|
-
if forces_ssl.respond_to?(:call)
|
|
45
|
-
forces_ssl.call(uri) && non_https
|
|
46
|
-
else
|
|
47
|
-
forces_ssl && non_https
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Rails 5 deprecates calling HTTP action methods with positional arguments
|
|
4
|
-
# in favor of keyword arguments. However, the keyword argument form is only
|
|
5
|
-
# supported in Rails 5+. Since we support back to 4, we need some sort of shim
|
|
6
|
-
# to avoid super noisy deprecations when running tests.
|
|
7
|
-
module RoutingHTTPMethodShim
|
|
8
|
-
def get(path, **args)
|
|
9
|
-
super(path, args[:params], args[:headers])
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def post(path, **args)
|
|
13
|
-
super(path, args[:params], args[:headers])
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def put(path, **args)
|
|
17
|
-
super(path, args[:params], args[:headers])
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
module ControllerHTTPMethodShim
|
|
22
|
-
def process(action, http_method = "GET", **args)
|
|
23
|
-
if (as = args.delete(:as))
|
|
24
|
-
@request.headers["Content-Type"] = Mime[as].to_s
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
super(action, http_method, args[:params], args[:session], args[:flash])
|
|
28
|
-
end
|
|
29
|
-
end
|