oauth2 1.4.5 → 1.4.9

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +37 -1
  3. data/LICENSE +1 -1
  4. data/README.md +276 -111
  5. data/lib/oauth2/access_token.rb +7 -7
  6. data/lib/oauth2/authenticator.rb +3 -1
  7. data/lib/oauth2/client.rb +105 -70
  8. data/lib/oauth2/error.rb +3 -1
  9. data/lib/oauth2/mac_token.rb +18 -18
  10. data/lib/oauth2/response.rb +2 -0
  11. data/lib/oauth2/strategy/assertion.rb +3 -1
  12. data/lib/oauth2/strategy/auth_code.rb +3 -1
  13. data/lib/oauth2/strategy/base.rb +2 -0
  14. data/lib/oauth2/strategy/client_credentials.rb +3 -1
  15. data/lib/oauth2/strategy/implicit.rb +3 -1
  16. data/lib/oauth2/strategy/password.rb +3 -1
  17. data/lib/oauth2/version.rb +8 -3
  18. data/lib/oauth2.rb +2 -0
  19. data/spec/fixtures/README.md +11 -0
  20. data/spec/fixtures/RS256/jwtRS256.key +51 -0
  21. data/spec/fixtures/RS256/jwtRS256.key.pub +14 -0
  22. data/spec/helper.rb +33 -0
  23. data/spec/oauth2/access_token_spec.rb +218 -0
  24. data/spec/oauth2/authenticator_spec.rb +86 -0
  25. data/spec/oauth2/client_spec.rb +556 -0
  26. data/spec/oauth2/mac_token_spec.rb +122 -0
  27. data/spec/oauth2/response_spec.rb +96 -0
  28. data/spec/oauth2/strategy/assertion_spec.rb +113 -0
  29. data/spec/oauth2/strategy/auth_code_spec.rb +108 -0
  30. data/spec/oauth2/strategy/base_spec.rb +7 -0
  31. data/spec/oauth2/strategy/client_credentials_spec.rb +71 -0
  32. data/spec/oauth2/strategy/implicit_spec.rb +28 -0
  33. data/spec/oauth2/strategy/password_spec.rb +58 -0
  34. data/spec/oauth2/version_spec.rb +23 -0
  35. metadata +49 -90
  36. data/.document +0 -5
  37. data/.github/dependabot.yml +0 -8
  38. data/.github/workflows/style.yml +0 -37
  39. data/.github/workflows/test.yml +0 -58
  40. data/.gitignore +0 -19
  41. data/.jrubyrc +0 -1
  42. data/.rspec +0 -4
  43. data/.rubocop.yml +0 -112
  44. data/.rubocop_rspec.yml +0 -26
  45. data/.rubocop_todo.yml +0 -113
  46. data/.ruby-version +0 -1
  47. data/.travis.yml +0 -75
  48. data/CONTRIBUTING.md +0 -18
  49. data/Gemfile +0 -61
  50. data/Rakefile +0 -45
  51. data/gemfiles/jruby_1.7.gemfile +0 -11
  52. data/gemfiles/jruby_9.0.gemfile +0 -7
  53. data/gemfiles/jruby_9.1.gemfile +0 -3
  54. data/gemfiles/jruby_9.2.gemfile +0 -3
  55. data/gemfiles/jruby_head.gemfile +0 -3
  56. data/gemfiles/ruby_1.9.gemfile +0 -11
  57. data/gemfiles/ruby_2.0.gemfile +0 -6
  58. data/gemfiles/ruby_head.gemfile +0 -9
  59. data/gemfiles/truffleruby.gemfile +0 -3
  60. data/maintenance-branch +0 -1
  61. data/oauth2.gemspec +0 -52
data/.travis.yml DELETED
@@ -1,75 +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
- # DEPRECATION WARNING
60
- # NOTE: Specs for Ruby 2.1 are now running with Github Actions
61
- # oauth2 1.x series releases are the last to support Ruby versions above
62
- # oauth2 2.x series releases will support Ruby versions below, and not above
63
- # NOTE: Specs for Ruby 2.2, 2.3, 2.4, 2.5, 2.6, 2.7 & 3.0 are now running with Github Actions
64
- - rvm: jruby-9.1 # targets MRI v2.3
65
- gemfile: gemfiles/jruby_9.1.gemfile
66
- - rvm: jruby-9.2 # targets MRI v2.5
67
- gemfile: gemfiles/jruby_9.2.gemfile
68
- - rvm: jruby-head
69
- gemfile: gemfiles/jruby_head.gemfile
70
- - rvm: ruby-head
71
- gemfile: gemfiles/ruby_head.gemfile
72
- - rvm: truffleruby
73
- gemfile: gemfiles/truffleruby.gemfile
74
-
75
- 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,61 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- gemspec
6
-
7
- git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
8
-
9
- gem 'faraday', ['>= 0.8', '< 2.0'], :platforms => [:jruby_18, :ruby_18]
10
- gem 'jwt', '< 1.5.2', :platforms => [:jruby_18, :ruby_18]
11
- gem 'rake', '< 11.0'
12
-
13
- ruby_version = Gem::Version.new(RUBY_VERSION)
14
-
15
- ### deps for documentation and rdoc.info
16
- group :documentation do
17
- gem 'github-markup', :platform => :mri
18
- gem 'rdoc'
19
- gem 'redcarpet', :platform => :mri
20
- gem 'yard', :require => false
21
- end
22
-
23
- group :development, :test do
24
- if ruby_version >= Gem::Version.new('2.4')
25
- # No need to run byebug / pry on earlier versions
26
- gem 'byebug', :platform => :mri
27
- gem 'pry', :platform => :mri
28
- gem 'pry-byebug', :platform => :mri
29
- end
30
-
31
- if ruby_version >= Gem::Version.new('2.7')
32
- # No need to run rubocop or simplecov on earlier versions
33
- gem 'rubocop', '~> 1.9', :platform => :mri
34
- gem 'rubocop-md', :platform => :mri
35
- gem 'rubocop-packaging', :platform => :mri
36
- gem 'rubocop-performance', :platform => :mri
37
- gem 'rubocop-rake', :platform => :mri
38
- gem 'rubocop-rspec', :platform => :mri
39
-
40
- gem 'coveralls'
41
- gem 'simplecov', :platform => :mri
42
- end
43
- end
44
-
45
- group :test do
46
- gem 'addressable', '~> 2.3.8'
47
- gem 'backports'
48
- gem 'rack', '~> 1.2', :platforms => [:jruby_18, :jruby_19, :ruby_18, :ruby_19, :ruby_20, :ruby_21]
49
- gem 'rspec', '>= 3'
50
-
51
- platforms :jruby_18, :ruby_18 do
52
- gem 'mime-types', '~> 1.25'
53
- gem 'rest-client', '~> 1.6.0'
54
- end
55
-
56
- platforms :ruby_18, :ruby_19 do
57
- gem 'json', '< 2.0'
58
- gem 'term-ansicolor', '< 1.4.0'
59
- gem 'tins', '< 1.7'
60
- end
61
- end
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 'oauth2/version'
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,9 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- group :development do
4
- gem 'byebug'
5
- gem 'pry'
6
- gem 'pry-byebug'
7
- end
8
-
9
- gemspec :path => '../'
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec :path => '../'
data/maintenance-branch DELETED
@@ -1 +0,0 @@
1
- master
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.to_s
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-block_is_expected'
48
- spec.add_development_dependency 'rspec-pending_for'
49
- spec.add_development_dependency 'rspec-stubbed_env'
50
- spec.add_development_dependency 'silent_stream'
51
- spec.add_development_dependency 'wwtd'
52
- end