rack-oauth2 1.8.1 → 1.8.2

Sign up to get free protection for your applications and to get access to all the features.
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