rack-oauth2 1.8.1 → 1.8.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: efedb22bf2d26cfc59bff3d5742144e6d456099f
4
- data.tar.gz: 70d6b0c26c8c877b565a57a3c45e60a2cc06c6ac
3
+ metadata.gz: cbac894ed9163540ac519a063032626b0a76207d
4
+ data.tar.gz: 8c6b39c0c3b6477fe59d507e563f81dc20e6b81a
5
5
  SHA512:
6
- metadata.gz: 5af294837dac819581056e65a265af1680cdaa194c9e21cf2f6736486c77733f8315f0a263c811df042d93b1756ca08df1db22ce4f7bb4b89f86d13837646a66
7
- data.tar.gz: ce468e48663cbd68e13b8b208a6f82139c7e2ee9b1bf051a91083351008017d03721f2197d1a6b53272c7247acb2cd7435823fc2ee6cccb3219136976e23f574
6
+ metadata.gz: 321b9d515d5926a653c16f9dd3a58cdf900872810218bc7aad37c473b39cec07cca3579ef4b5c16ad3ba93e74eee56b0cf43711f61b04724fbf6639af8d5bb71
7
+ data.tar.gz: 27aec030fe85e7ef03efff02cd08b8388a2e317d2e10a6fed9cf0e3bff4052185b8545543cf4d581d9e1a0bda23368b55033398132165b068b2c184e33e31124
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
- source 'http://rubygems.org'
1
+ source 'https://rubygems.org'
2
2
 
3
3
  platforms :jruby do
4
4
  gem 'jruby-openssl', '>= 0.7'
5
5
  end
6
6
 
7
- gemspec
7
+ gemspec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.8.1
1
+ 1.8.2
@@ -3,7 +3,7 @@ module Rack
3
3
  class Client
4
4
  include AttrRequired, AttrOptional
5
5
  attr_required :identifier
6
- attr_optional :secret, :redirect_uri, :scheme, :host, :port, :authorization_endpoint, :token_endpoint
6
+ attr_optional :secret, :private_key, :redirect_uri, :scheme, :host, :port, :authorization_endpoint, :token_endpoint
7
7
 
8
8
  def initialize(attributes = {})
9
9
  (required_attributes + optional_attributes).each do |key|
@@ -90,6 +90,18 @@ module Rack
90
90
  params.merge!(
91
91
  client_assertion_type: URN::ClientAssertionType::JWT_BEARER
92
92
  )
93
+ # NOTE: optionally auto-generate client_assertion.
94
+ if params[:client_assertion].blank?
95
+ require 'json/jwt'
96
+ params[:client_assertion] = JSON::JWT.new(
97
+ iss: identifier,
98
+ sub: identifier,
99
+ aud: absolute_uri_for(token_endpoint),
100
+ jti: SecureRandom.hex(16),
101
+ iat: Time.now,
102
+ exp: 3.minutes.from_now
103
+ ).sign(private_key || secret).to_s
104
+ end
93
105
  when :saml2_bearer
94
106
  params.merge!(
95
107
  client_assertion_type: URN::ClientAssertionType::SAML2_BEARER
data/rack-oauth2.gemspec CHANGED
@@ -1,26 +1,26 @@
1
1
  Gem::Specification.new do |s|
2
- s.name = "rack-oauth2"
3
- s.version = File.read("VERSION")
4
- s.required_rubygems_version = Gem::Requirement.new(">= 1.3.6") if s.respond_to? :required_rubygems_version=
5
- s.authors = ["nov matake"]
2
+ s.name = 'rack-oauth2'
3
+ s.version = File.read('VERSION')
4
+ s.authors = ['nov matake']
6
5
  s.description = %q{OAuth 2.0 Server & Client Library. Both Bearer and MAC token type are supported.}
7
6
  s.summary = %q{OAuth 2.0 Server & Client Library - Both Bearer and MAC token type are supported}
8
- s.email = "nov@matake.jp"
9
- s.extra_rdoc_files = ["LICENSE", "README.rdoc"]
10
- s.rdoc_options = ["--charset=UTF-8"]
11
- s.homepage = "http://github.com/nov/rack-oauth2"
7
+ s.email = 'nov@matake.jp'
8
+ s.extra_rdoc_files = ['LICENSE', 'README.rdoc']
9
+ s.rdoc_options = ['--charset=UTF-8']
10
+ s.homepage = 'http://github.com/nov/rack-oauth2'
12
11
  s.license = 'MIT'
13
- s.require_paths = ["lib"]
12
+ s.require_paths = ['lib']
14
13
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
15
14
  s.files = `git ls-files`.split("\n")
16
15
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
- s.add_runtime_dependency "rack", ">= 1.1"
18
- s.add_runtime_dependency "httpclient", ">= 2.4"
19
- s.add_runtime_dependency "activesupport", ">= 2.3"
20
- s.add_runtime_dependency "attr_required", ">= 0.0.5"
21
- s.add_development_dependency "rake", ">= 0.8"
22
- s.add_development_dependency "simplecov"
23
- s.add_development_dependency "rspec"
24
- s.add_development_dependency "rspec-its"
25
- s.add_development_dependency "webmock", "< 1.24"
16
+ s.add_runtime_dependency 'rack'
17
+ s.add_runtime_dependency 'httpclient'
18
+ s.add_runtime_dependency 'activesupport'
19
+ s.add_runtime_dependency 'attr_required'
20
+ s.add_runtime_dependency 'json-jwt'
21
+ s.add_development_dependency 'rake'
22
+ s.add_development_dependency 'simplecov'
23
+ s.add_development_dependency 'rspec'
24
+ s.add_development_dependency 'rspec-its'
25
+ s.add_development_dependency 'webmock'
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-oauth2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.1
4
+ version: 1.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - nov matake
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-20 00:00:00.000000000 Z
11
+ date: 2018-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -16,70 +16,84 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.1'
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.1'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: httpclient
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '2.4'
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '2.4'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '2.3'
47
+ version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '2.3'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: attr_required
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 0.0.5
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: json-jwt
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - ">="
67
81
  - !ruby/object:Gem::Version
68
- version: 0.0.5
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rake
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - ">="
74
88
  - !ruby/object:Gem::Version
75
- version: '0.8'
89
+ version: '0'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - ">="
81
95
  - !ruby/object:Gem::Version
82
- version: '0.8'
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: simplecov
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -126,16 +140,16 @@ dependencies:
126
140
  name: webmock
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
- - - "<"
143
+ - - ">="
130
144
  - !ruby/object:Gem::Version
131
- version: '1.24'
145
+ version: '0'
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
- - - "<"
150
+ - - ">="
137
151
  - !ruby/object:Gem::Version
138
- version: '1.24'
152
+ version: '0'
139
153
  description: OAuth 2.0 Server & Client Library. Both Bearer and MAC token type are
140
154
  supported.
141
155
  email: nov@matake.jp
@@ -284,10 +298,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
284
298
  requirements:
285
299
  - - ">="
286
300
  - !ruby/object:Gem::Version
287
- version: 1.3.6
301
+ version: '0'
288
302
  requirements: []
289
303
  rubyforge_project:
290
- rubygems_version: 2.6.13
304
+ rubygems_version: 2.6.11
291
305
  signing_key:
292
306
  specification_version: 4
293
307
  summary: OAuth 2.0 Server & Client Library - Both Bearer and MAC token type are supported