oauth2 1.4.4 → 1.4.8

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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -2
  3. data/CODE_OF_CONDUCT.md +105 -46
  4. data/LICENSE +1 -1
  5. data/README.md +277 -112
  6. data/lib/oauth2/access_token.rb +8 -7
  7. data/lib/oauth2/authenticator.rb +1 -1
  8. data/lib/oauth2/client.rb +64 -21
  9. data/lib/oauth2/error.rb +1 -1
  10. data/lib/oauth2/mac_token.rb +16 -10
  11. data/lib/oauth2/response.rb +5 -3
  12. data/lib/oauth2/strategy/assertion.rb +3 -3
  13. data/lib/oauth2/strategy/password.rb +2 -2
  14. data/lib/oauth2/version.rb +9 -3
  15. data/spec/helper.rb +30 -0
  16. data/spec/oauth2/access_token_spec.rb +216 -0
  17. data/spec/oauth2/authenticator_spec.rb +84 -0
  18. data/spec/oauth2/client_spec.rb +530 -0
  19. data/spec/oauth2/mac_token_spec.rb +120 -0
  20. data/spec/oauth2/response_spec.rb +90 -0
  21. data/spec/oauth2/strategy/assertion_spec.rb +59 -0
  22. data/spec/oauth2/strategy/auth_code_spec.rb +107 -0
  23. data/spec/oauth2/strategy/base_spec.rb +5 -0
  24. data/spec/oauth2/strategy/client_credentials_spec.rb +69 -0
  25. data/spec/oauth2/strategy/implicit_spec.rb +26 -0
  26. data/spec/oauth2/strategy/password_spec.rb +56 -0
  27. data/spec/oauth2/version_spec.rb +23 -0
  28. metadata +41 -57
  29. data/.document +0 -5
  30. data/.gitignore +0 -19
  31. data/.jrubyrc +0 -1
  32. data/.rspec +0 -2
  33. data/.rubocop.yml +0 -80
  34. data/.rubocop_rspec.yml +0 -26
  35. data/.rubocop_todo.yml +0 -15
  36. data/.ruby-version +0 -1
  37. data/.travis.yml +0 -87
  38. data/CONTRIBUTING.md +0 -18
  39. data/Gemfile +0 -40
  40. data/Rakefile +0 -45
  41. data/gemfiles/jruby_1.7.gemfile +0 -11
  42. data/gemfiles/jruby_9.0.gemfile +0 -7
  43. data/gemfiles/jruby_9.1.gemfile +0 -3
  44. data/gemfiles/jruby_9.2.gemfile +0 -3
  45. data/gemfiles/jruby_head.gemfile +0 -3
  46. data/gemfiles/ruby_1.9.gemfile +0 -11
  47. data/gemfiles/ruby_2.0.gemfile +0 -6
  48. data/gemfiles/ruby_2.1.gemfile +0 -6
  49. data/gemfiles/ruby_2.2.gemfile +0 -3
  50. data/gemfiles/ruby_2.3.gemfile +0 -3
  51. data/gemfiles/ruby_2.4.gemfile +0 -3
  52. data/gemfiles/ruby_2.5.gemfile +0 -3
  53. data/gemfiles/ruby_2.6.gemfile +0 -9
  54. data/gemfiles/ruby_2.7.gemfile +0 -9
  55. data/gemfiles/ruby_head.gemfile +0 -9
  56. data/gemfiles/truffleruby.gemfile +0 -3
  57. data/oauth2.gemspec +0 -52
data/.rubocop.yml DELETED
@@ -1,80 +0,0 @@
1
- require: rubocop-rspec
2
- inherit_from:
3
- - .rubocop_todo.yml
4
- - .rubocop_rspec.yml
5
- AllCops:
6
- DisplayCopNames: true # Display the name of the failing cops
7
- TargetRubyVersion: 2.1
8
- Exclude:
9
- - 'gemfiles/vendor/**/*'
10
- - 'vendor/**/*'
11
- - '**/.irbrc'
12
-
13
- Gemspec/RequiredRubyVersion:
14
- Enabled: false
15
-
16
- Metrics/BlockLength:
17
- Enabled: false
18
-
19
- Metrics/BlockNesting:
20
- Max: 2
21
-
22
- Metrics/LineLength:
23
- Enabled: false
24
-
25
- Metrics/MethodLength:
26
- Max: 15
27
-
28
- Metrics/ParameterLists:
29
- Max: 4
30
-
31
- Layout/AccessModifierIndentation:
32
- EnforcedStyle: outdent
33
-
34
- Layout/DotPosition:
35
- EnforcedStyle: trailing
36
-
37
- Layout/SpaceInsideHashLiteralBraces:
38
- EnforcedStyle: no_space
39
-
40
- Lint/UnusedBlockArgument:
41
- Exclude:
42
- - 'spec/**/*.rb'
43
- - 'gemfiles/vendor/**/*'
44
- - 'vendor/**/*'
45
- - '**/.irbrc'
46
-
47
- RSpec/DescribeClass:
48
- Exclude:
49
- - 'spec/examples/*'
50
-
51
- RSpec/NestedGroups:
52
- Enabled: false
53
-
54
- Style/ClassVars:
55
- Enabled: false
56
-
57
- Style/CollectionMethods:
58
- PreferredMethods:
59
- map: 'collect'
60
- reduce: 'inject'
61
- find: 'detect'
62
- find_all: 'select'
63
-
64
- Style/Documentation:
65
- Enabled: false
66
-
67
- Style/DoubleNegation:
68
- Enabled: false
69
-
70
- Style/EmptyMethod:
71
- EnforcedStyle: expanded
72
-
73
- Style/Encoding:
74
- Enabled: false
75
-
76
- Style/TrailingCommaInArrayLiteral:
77
- EnforcedStyleForMultiline: comma
78
-
79
- Style/TrailingCommaInHashLiteral:
80
- EnforcedStyleForMultiline: comma
data/.rubocop_rspec.yml DELETED
@@ -1,26 +0,0 @@
1
- RSpec/FilePath:
2
- Enabled: false
3
-
4
- RSpec/MultipleExpectations:
5
- Enabled: false
6
-
7
- RSpec/NamedSubject:
8
- Enabled: false
9
-
10
- RSpec/ExampleLength:
11
- Enabled: false
12
-
13
- RSpec/VerifiedDoubles:
14
- Enabled: false
15
-
16
- RSpec/MessageSpies:
17
- Enabled: false
18
-
19
- RSpec/InstanceVariable:
20
- Enabled: false
21
-
22
- RSpec/NestedGroups:
23
- Enabled: false
24
-
25
- RSpec/ExpectInHook:
26
- Enabled: false
data/.rubocop_todo.yml DELETED
@@ -1,15 +0,0 @@
1
- Style/HashSyntax:
2
- EnforcedStyle: hash_rockets
3
-
4
- Style/Lambda:
5
- Enabled: false
6
-
7
- Style/SymbolArray:
8
- Enabled: false
9
-
10
- Style/EachWithObject:
11
- Enabled: false
12
-
13
- # Once we drop Rubies that lack support for __dir__ we can turn this on.
14
- Style/ExpandPathArguments:
15
- Enabled: false
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.7.0
data/.travis.yml DELETED
@@ -1,87 +0,0 @@
1
- before_install:
2
- # rubygems 2.7.8 and greater include bundler
3
- # - Ruby 2.2, and under, get RubyGems ~> 2.7.10, (includes bundler 1.17.3)
4
- # - Anything else, including Ruby 2.3, and above, gets RubyGems ~> 3, and update bundler to latest
5
- # - NOTE ON JRUBY: identifies as RUBY_VERSION ~> 1.9, 2.0, 2.3, or 2.5.
6
- # - NOTE ON TRUFFLERUBY: identifies as RUBY_VERSION ~> 2.6
7
- - |
8
- rv="$(ruby -e 'STDOUT.write RUBY_VERSION')"
9
- echo "Discovered Ruby Version of =====> $rv"
10
- if [ "$rv" \< "2.3" ]; then
11
- gem update --system 2.7.10
12
- elif [ "$rv" \< "2.4" ]; then
13
- gem update --system 2.7.10 --no-document
14
- elif [ "$rv" = "2.5.3" ]; then
15
- # JRUBY 9.2 Identifies as 2.5.3, and it fails to update rubygems
16
- gem install --no-document bundler "bundler:>=2.0"
17
- else
18
- gem update --system --no-document --conservative
19
- gem install --no-document bundler "bundler:>=2.0"
20
- fi
21
-
22
- before_script:
23
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
24
- - chmod +x ./cc-test-reporter
25
- - ./cc-test-reporter before-build
26
-
27
- after_script:
28
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
29
-
30
- bundler_args: --no-deployment --jobs 3 --retry 3
31
-
32
- cache: bundler
33
-
34
- env:
35
- global:
36
- - JRUBY_OPTS="$JRUBY_OPTS -Xcli.debug=true --debug"
37
- - CC_TEST_REPORTER_ID=29caf9cf27d27ae609c088feb9d4ba34460f7a39251f2e8615c9a16f3075530e
38
-
39
- language: ruby
40
-
41
- matrix:
42
- allow_failures:
43
- - rvm: jruby-head
44
- - rvm: ruby-head
45
- - rvm: truffleruby
46
- - rvm: jruby-9.0
47
- - rvm: jruby-9.1 # jruby-9.1 often fails to download, thus failing the build.
48
- - rvm: jruby-9.2 # jruby-9.2 often fails to download, thus failing the build.
49
- fast_finish: true
50
- include:
51
- # - rvm: jruby-1.7 # targets MRI v1.9
52
- # gemfile: gemfiles/jruby_1.7.gemfile
53
- - rvm: 1.9
54
- gemfile: gemfiles/ruby_1.9.gemfile
55
- - rvm: 2.0
56
- gemfile: gemfiles/ruby_2.0.gemfile
57
- - rvm: jruby-9.0 # targets MRI v2.0
58
- gemfile: gemfiles/jruby_9.0.gemfile
59
- - rvm: 2.1
60
- gemfile: gemfiles/ruby_2.1.gemfile
61
- # DEPRECATION WARNING
62
- # oauth2 1.x series releases are the last to support Ruby versions above
63
- # oauth2 2.x series releases will support Ruby versions below, and not above
64
- - rvm: jruby-9.1 # targets MRI v2.3
65
- gemfile: gemfiles/jruby_9.1.gemfile
66
- - rvm: 2.2
67
- gemfile: gemfiles/ruby_2.2.gemfile
68
- - rvm: 2.3
69
- gemfile: gemfiles/ruby_2.3.gemfile
70
- - rvm: 2.4
71
- gemfile: gemfiles/ruby_2.4.gemfile
72
- - rvm: jruby-9.2 # targets MRI v2.5
73
- gemfile: gemfiles/jruby_9.2.gemfile
74
- - rvm: 2.5
75
- gemfile: gemfiles/ruby_2.5.gemfile
76
- - rvm: 2.6
77
- gemfile: gemfiles/ruby_2.6.gemfile
78
- - rvm: 2.7
79
- gemfile: gemfiles/ruby_2.7.gemfile
80
- - rvm: jruby-head
81
- gemfile: gemfiles/jruby_head.gemfile
82
- - rvm: ruby-head
83
- gemfile: gemfiles/ruby_head.gemfile
84
- - rvm: truffleruby
85
- gemfile: gemfiles/truffleruby.gemfile
86
-
87
- sudo: false
data/CONTRIBUTING.md DELETED
@@ -1,18 +0,0 @@
1
- ## Submitting a Pull Request
2
- 1. [Fork the repository.][fork]
3
- 2. [Create a topic branch.][branch]
4
- 3. Add specs for your unimplemented feature or bug fix.
5
- 4. Run `bundle exec rake spec`. If your specs pass, return to step 3.
6
- 5. Implement your feature or bug fix.
7
- 6. Run `bundle exec rake`. If your specs fail, return to step 5.
8
- 7. Run `open coverage/index.html`. If your changes are not completely covered
9
- by your tests, return to step 3.
10
- 8. Add documentation for your feature or bug fix.
11
- 9. Run `bundle exec rake verify_measurements`. If your changes are not 100%
12
- documented, go back to step 8.
13
- 10. Commit and push your changes.
14
- 11. [Submit a pull request.][pr]
15
-
16
- [fork]: http://help.github.com/fork-a-repo/
17
- [branch]: http://learn.github.com/p/branching.html
18
- [pr]: http://help.github.com/send-pull-requests/
data/Gemfile DELETED
@@ -1,40 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
-
5
- gem 'faraday', ['>= 0.8', '< 2.0'], :platforms => [:jruby_18, :ruby_18]
6
- gem 'jwt', '< 1.5.2', :platforms => [:jruby_18, :ruby_18]
7
- gem 'rake', '< 11.0'
8
- gem 'rdoc', '~> 4.2.2'
9
-
10
- group :test do
11
- ruby_version = Gem::Version.new(RUBY_VERSION)
12
- if ruby_version >= Gem::Version.new('2.1')
13
- # TODO: Upgrade to >= 0.59 when we drop Rubies below 2.2
14
- # Error: Unsupported Ruby version 2.1 found in `TargetRubyVersion` parameter (in .rubocop.yml). 2.1-compatible analysis was dropped after version 0.58.
15
- # Supported versions: 2.2, 2.3, 2.4, 2.5
16
- gem 'rubocop', '~> 0.57.0'
17
- gem 'rubocop-rspec', '~> 1.27.0' # last version that can use rubocop < 0.58
18
- end
19
- gem 'pry', '~> 0.11' if ruby_version >= Gem::Version.new('2.0')
20
-
21
- gem 'addressable', '~> 2.3.8'
22
- gem 'backports'
23
- gem 'coveralls'
24
- gem 'rack', '~> 1.2', :platforms => [:jruby_18, :jruby_19, :ruby_18, :ruby_19, :ruby_20, :ruby_21]
25
- gem 'rspec', '>= 3'
26
- gem 'simplecov', '>= 0.9'
27
-
28
- platforms :jruby_18, :ruby_18 do
29
- gem 'mime-types', '~> 1.25'
30
- gem 'rest-client', '~> 1.6.0'
31
- end
32
-
33
- platforms :ruby_18, :ruby_19 do
34
- gem 'json', '< 2.0'
35
- gem 'term-ansicolor', '< 1.4.0'
36
- gem 'tins', '< 1.7'
37
- end
38
- end
39
-
40
- gemspec
data/Rakefile DELETED
@@ -1,45 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # !/usr/bin/env rake
4
-
5
- require 'bundler/gem_tasks'
6
-
7
- begin
8
- require 'wwtd/tasks'
9
- rescue LoadError
10
- puts 'failed to load wwtd'
11
- end
12
-
13
- begin
14
- require 'rspec/core/rake_task'
15
- RSpec::Core::RakeTask.new(:spec)
16
- rescue LoadError
17
- task :spec do
18
- warn 'rspec is disabled'
19
- end
20
- end
21
- task :test => :spec
22
-
23
- begin
24
- require 'rubocop/rake_task'
25
- RuboCop::RakeTask.new do |task|
26
- task.options = ['-D'] # Display the name of the failing cops
27
- end
28
- rescue LoadError
29
- task :rubocop do
30
- warn 'RuboCop is disabled'
31
- end
32
- end
33
-
34
- namespace :doc do
35
- require 'rdoc/task'
36
- require File.expand_path('../lib/oauth2/version', __FILE__)
37
- RDoc::Task.new do |rdoc|
38
- rdoc.rdoc_dir = 'rdoc'
39
- rdoc.title = "oauth2 #{OAuth2::Version}"
40
- rdoc.main = 'README.md'
41
- rdoc.rdoc_files.include('README.md', 'LICENSE.md', 'lib/**/*.rb')
42
- end
43
- end
44
-
45
- task :default => [:test, :rubocop]
@@ -1,11 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'faraday', '~> 0.15.4'
4
-
5
- gem 'json', '< 2.0'
6
- gem 'rack', '~> 1.2'
7
- gem 'rake', [">= 10.0", "< 12"]
8
- gem 'term-ansicolor', '< 1.4.0'
9
- gem 'tins', '< 1.7'
10
-
11
- gemspec :path => '../'
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'faraday', '~> 0.15.4'
4
-
5
- gem 'rake', [">= 10.0", "< 12"]
6
-
7
- gemspec :path => '../'
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path => '../'
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path => '../'
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path => '../'
@@ -1,11 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'faraday', '~> 0.15.4'
4
-
5
- gem 'json', '< 2.0'
6
- gem 'rack', '~> 1.2'
7
- gem 'rake', [">= 10.0", "< 12"]
8
- gem 'term-ansicolor', '< 1.4.0'
9
- gem 'tins', '< 1.7'
10
-
11
- gemspec :path => '../'
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'faraday', '~> 0.15.4'
4
- gem 'rack', '~> 1.2'
5
-
6
- gemspec :path => '../'
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'faraday', '~> 0.15.4'
4
- gem 'rack', '~> 1.2'
5
-
6
- gemspec :path => '../'
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path => '../'
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path => '../'
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path => '../'
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path => '../'
@@ -1,9 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- group :development do
4
- gem 'pry'
5
- gem 'byebug'
6
- gem 'pry-byebug'
7
- end
8
-
9
- gemspec :path => '../'
@@ -1,9 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- group :development do
4
- gem 'pry'
5
- gem 'byebug'
6
- gem 'pry-byebug'
7
- end
8
-
9
- gemspec :path => '../'
@@ -1,9 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- group :development do
4
- gem 'pry'
5
- gem 'byebug'
6
- gem 'pry-byebug'
7
- end
8
-
9
- gemspec :path => '../'
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path => '../'
data/oauth2.gemspec DELETED
@@ -1,52 +0,0 @@
1
- # coding: utf-8
2
-
3
- lib = File.expand_path('../lib', __FILE__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'oauth2/version'
6
-
7
- Gem::Specification.new do |spec|
8
- spec.add_dependency 'faraday', ['>= 0.8', '< 2.0']
9
- spec.add_dependency 'jwt', ['>= 1.0', '< 3.0']
10
- spec.add_dependency 'multi_json', '~> 1.3'
11
- spec.add_dependency 'multi_xml', '~> 0.5'
12
- spec.add_dependency 'rack', ['>= 1.2', '< 3']
13
-
14
- spec.authors = ['Peter Boling', 'Michael Bleigh', 'Erik Michaels-Ober']
15
- spec.description = 'A Ruby wrapper for the OAuth 2.0 protocol built with a similar style to the original OAuth spec.'
16
- spec.email = ['peter.boling@gmail.com']
17
- spec.homepage = 'https://github.com/oauth-xx/oauth2'
18
- spec.licenses = %w[MIT]
19
- spec.name = 'oauth2'
20
- spec.required_ruby_version = '>= 1.9.0'
21
- spec.required_rubygems_version = '>= 1.3.5'
22
- spec.summary = 'A Ruby wrapper for the OAuth 2.0 protocol.'
23
- spec.version = OAuth2::Version
24
-
25
- spec.metadata = {
26
- 'bug_tracker_uri' => 'https://github.com/oauth-xx/oauth2/issues',
27
- 'changelog_uri' => "https://github.com/oauth-xx/oauth2/blob/v#{spec.version}/CHANGELOG.md",
28
- 'documentation_uri' => "https://www.rubydoc.info/gems/oauth2/#{spec.version}",
29
- 'source_code_uri' => "https://github.com/oauth-xx/oauth2/tree/v#{spec.version}",
30
- 'wiki_uri' => 'https://github.com/oauth-xx/oauth2/wiki'
31
- }
32
-
33
- spec.require_paths = %w[lib]
34
- spec.bindir = 'exe'
35
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
36
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
37
- f.match(%r{^(bin|test|spec|features)/})
38
- end
39
-
40
- spec.add_development_dependency 'addressable', '~> 2.3'
41
- spec.add_development_dependency 'backports', '~> 3.11'
42
- spec.add_development_dependency 'bundler', '>= 1.16'
43
- spec.add_development_dependency 'coveralls', '~> 0.8'
44
- spec.add_development_dependency 'rake', '~> 12.3'
45
- spec.add_development_dependency 'rdoc', ['>= 5.0', '< 7']
46
- spec.add_development_dependency 'rspec', '~> 3.0'
47
- spec.add_development_dependency 'rspec-stubbed_env'
48
- spec.add_development_dependency 'rspec-pending_for'
49
- spec.add_development_dependency 'rspec-block_is_expected'
50
- spec.add_development_dependency 'silent_stream'
51
- spec.add_development_dependency 'wwtd'
52
- end