openid_connect 0.3.3 → 0.3.4

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 (40) hide show
  1. data/Gemfile +1 -9
  2. data/Gemfile.lock +8 -11
  3. data/Rakefile +10 -16
  4. data/VERSION +1 -1
  5. data/lib/openid_connect.rb +1 -1
  6. data/lib/openid_connect/access_token.rb +2 -2
  7. data/lib/openid_connect/client.rb +2 -2
  8. data/lib/openid_connect/client/registrar.rb +16 -15
  9. data/lib/openid_connect/discovery/principal.rb +5 -5
  10. data/lib/openid_connect/discovery/provider/config.rb +1 -1
  11. data/lib/openid_connect/discovery/provider/config/resource.rb +4 -3
  12. data/lib/openid_connect/discovery/provider/config/response.rb +41 -1
  13. data/lib/openid_connect/request_object/claimable.rb +2 -2
  14. data/lib/openid_connect/response_object/id_token.rb +1 -1
  15. data/lib/openid_connect/response_object/user_info/open_id.rb +5 -5
  16. data/lib/rack/oauth2/server/authorize/error_with_connect_ext.rb +7 -7
  17. data/lib/rack/oauth2/server/id_token_response.rb +1 -1
  18. data/openid_connect.gemspec +1 -5
  19. data/spec/mock_response/public_keys/jwk.json +7 -0
  20. data/spec/mock_response/public_keys/x509.pem +21 -0
  21. data/spec/openid_connect/access_token_spec.rb +23 -23
  22. data/spec/openid_connect/client/registrar_spec.rb +45 -45
  23. data/spec/openid_connect/client_spec.rb +12 -12
  24. data/spec/openid_connect/connect_object_spec.rb +6 -6
  25. data/spec/openid_connect/debugger/request_filter_spec.rb +1 -1
  26. data/spec/openid_connect/discovery/principal_spec.rb +5 -5
  27. data/spec/openid_connect/discovery/provider/config/response_spec.rb +265 -3
  28. data/spec/openid_connect/discovery/provider/config_spec.rb +11 -0
  29. data/spec/openid_connect/discovery/provider_spec.rb +3 -3
  30. data/spec/openid_connect/request_object_spec.rb +36 -36
  31. data/spec/openid_connect/response_object/id_token_spec.rb +26 -26
  32. data/spec/openid_connect/response_object/user_info/open_id_spec.rb +7 -7
  33. data/spec/rack/oauth2/server/authorize/extension/code_and_id_token_and_token_spec.rb +7 -7
  34. data/spec/rack/oauth2/server/authorize/extension/code_and_id_token_spec.rb +6 -6
  35. data/spec/rack/oauth2/server/authorize/extension/id_token_and_token_spec.rb +7 -7
  36. data/spec/rack/oauth2/server/authorize/extension/id_token_spec.rb +6 -6
  37. data/spec/rack/oauth2/server/token/authorization_code_spec.rb +14 -14
  38. data/spec/rack/oauth2/server/token/refresh_token_spec.rb +13 -13
  39. data/spec/spec_helper.rb +1 -3
  40. metadata +15 -11
@@ -50,7 +50,7 @@ describe OpenIDConnect::ResponseObject::UserInfo::OpenID do
50
50
 
51
51
  context 'when email is invalid' do
52
52
  let :attributes do
53
- {:email => 'nov@localhost'}
53
+ {email: 'nov@localhost'}
54
54
  end
55
55
  its(:valid?) { should be_false }
56
56
  its(:errors) { should include :email }
@@ -82,7 +82,7 @@ describe OpenIDConnect::ResponseObject::UserInfo::OpenID do
82
82
 
83
83
  context 'when address is blank' do
84
84
  let :attributes do
85
- {:address => {}}
85
+ {address: {}}
86
86
  end
87
87
  its(:valid?) { should be_false }
88
88
  its(:errors) { should include :address }
@@ -92,14 +92,14 @@ describe OpenIDConnect::ResponseObject::UserInfo::OpenID do
92
92
  describe '#address=' do
93
93
  context 'when Hash is given' do
94
94
  let :attributes do
95
- {:address => {}}
95
+ {address: {}}
96
96
  end
97
97
  its(:address) { should be_a OpenIDConnect::ResponseObject::UserInfo::OpenID::Address }
98
98
  end
99
99
 
100
100
  context 'when Address is given' do
101
101
  let :attributes do
102
- {:address => OpenIDConnect::ResponseObject::UserInfo::OpenID::Address.new}
102
+ {address: OpenIDConnect::ResponseObject::UserInfo::OpenID::Address.new}
103
103
  end
104
104
  its(:address) { should be_a OpenIDConnect::ResponseObject::UserInfo::OpenID::Address }
105
105
  end
@@ -108,9 +108,9 @@ describe OpenIDConnect::ResponseObject::UserInfo::OpenID do
108
108
  describe '#to_json' do
109
109
  let :attributes do
110
110
  {
111
- :user_id => 'nov.matake#12345',
112
- :address => {
113
- :formatted => 'Tokyo, Japan'
111
+ user_id: 'nov.matake#12345',
112
+ address: {
113
+ formatted: 'Tokyo, Japan'
114
114
  }
115
115
  }
116
116
  end
@@ -5,16 +5,16 @@ describe Rack::OAuth2::Server::Authorize::Extension::CodeAndIdTokenAndToken do
5
5
  let(:request) { Rack::MockRequest.new app }
6
6
  let(:response) { request.get('/?response_type=code%20id_token%20token&client_id=client&state=state') }
7
7
  let(:redirect_uri) { 'http://client.example.com/callback' }
8
- let(:bearer_token) { Rack::OAuth2::AccessToken::Bearer.new(:access_token => 'access_token') }
8
+ let(:bearer_token) { Rack::OAuth2::AccessToken::Bearer.new(access_token: 'access_token') }
9
9
  let(:code) { 'authorization_code' }
10
10
  let :id_token do
11
11
  OpenIDConnect::ResponseObject::IdToken.new(
12
- :iss => 'https://server.example.com',
13
- :user_id => 'user_id',
14
- :aud => 'client_id',
15
- :nonce => 'nonce',
16
- :exp => 1313424327,
17
- :iat => 1313420327
12
+ iss: 'https://server.example.com',
13
+ user_id: 'user_id',
14
+ aud: 'client_id',
15
+ nonce: 'nonce',
16
+ exp: 1313424327,
17
+ iat: 1313420327
18
18
  ).to_jwt private_key
19
19
  end
20
20
 
@@ -8,12 +8,12 @@ describe Rack::OAuth2::Server::Authorize::Extension::CodeAndIdToken do
8
8
  let(:code) { 'authorization_code' }
9
9
  let :id_token do
10
10
  OpenIDConnect::ResponseObject::IdToken.new(
11
- :iss => 'https://server.example.com',
12
- :user_id => 'user_id',
13
- :aud => 'client_id',
14
- :nonce => 'nonce',
15
- :exp => 1313424327,
16
- :iat => 1313420327
11
+ iss: 'https://server.example.com',
12
+ user_id: 'user_id',
13
+ aud: 'client_id',
14
+ nonce: 'nonce',
15
+ exp: 1313424327,
16
+ iat: 1313420327
17
17
  ).to_jwt private_key
18
18
  end
19
19
 
@@ -5,15 +5,15 @@ describe Rack::OAuth2::Server::Authorize::Extension::IdTokenAndToken do
5
5
  let(:request) { Rack::MockRequest.new app }
6
6
  let(:response) { request.get('/?response_type=token%20id_token&client_id=client&state=state') }
7
7
  let(:redirect_uri) { 'http://client.example.com/callback' }
8
- let(:bearer_token) { Rack::OAuth2::AccessToken::Bearer.new(:access_token => 'access_token') }
8
+ let(:bearer_token) { Rack::OAuth2::AccessToken::Bearer.new(access_token: 'access_token') }
9
9
  let :id_token do
10
10
  OpenIDConnect::ResponseObject::IdToken.new(
11
- :iss => 'https://server.example.com',
12
- :user_id => 'user_id',
13
- :aud => 'client_id',
14
- :nonce => 'nonce',
15
- :exp => 1313424327,
16
- :iat => 1313420327
11
+ iss: 'https://server.example.com',
12
+ user_id: 'user_id',
13
+ aud: 'client_id',
14
+ nonce: 'nonce',
15
+ exp: 1313424327,
16
+ iat: 1313420327
17
17
  ).to_jwt private_key
18
18
  end
19
19
 
@@ -7,12 +7,12 @@ describe Rack::OAuth2::Server::Authorize::Extension::IdToken do
7
7
  let(:redirect_uri) { 'http://client.example.com/callback' }
8
8
  let :id_token do
9
9
  OpenIDConnect::ResponseObject::IdToken.new(
10
- :iss => 'https://server.example.com',
11
- :user_id => 'user_id',
12
- :aud => 'client_id',
13
- :nonce => 'nonce',
14
- :exp => 1313424327,
15
- :iat => 1313420327
10
+ iss: 'https://server.example.com',
11
+ user_id: 'user_id',
12
+ aud: 'client_id',
13
+ nonce: 'nonce',
14
+ exp: 1313424327,
15
+ iat: 1313420327
16
16
  ).to_jwt private_key
17
17
  end
18
18
 
@@ -4,29 +4,29 @@ describe Rack::OAuth2::Server::Token::AuthorizationCode do
4
4
  subject { response }
5
5
  let(:request) { Rack::MockRequest.new app }
6
6
  let :response do
7
- request.post('/', :params => {
8
- :grant_type => 'authorization_code',
9
- :client_id => 'client_id',
10
- :code => 'authorization_code',
11
- :redirect_uri => 'http://client.example.com/callback'
7
+ request.post('/', params: {
8
+ grant_type: 'authorization_code',
9
+ client_id: 'client_id',
10
+ code: 'authorization_code',
11
+ redirect_uri: 'http://client.example.com/callback'
12
12
  })
13
13
  end
14
14
  let :id_token do
15
15
  OpenIDConnect::ResponseObject::IdToken.new(
16
- :iss => 'https://server.example.com',
17
- :user_id => 'user_id',
18
- :aud => 'client_id',
19
- :exp => 1313424327,
20
- :iat => 1313420327,
21
- :nonce => 'nonce',
22
- :secret => 'secret'
16
+ iss: 'https://server.example.com',
17
+ user_id: 'user_id',
18
+ aud: 'client_id',
19
+ exp: 1313424327,
20
+ iat: 1313420327,
21
+ nonce: 'nonce',
22
+ secret: 'secret'
23
23
  ).to_jwt private_key
24
24
  end
25
25
 
26
26
  context "when id_token is given" do
27
27
  let :app do
28
28
  Rack::OAuth2::Server::Token.new do |request, response|
29
- response.access_token = Rack::OAuth2::AccessToken::Bearer.new(:access_token => 'access_token')
29
+ response.access_token = Rack::OAuth2::AccessToken::Bearer.new(access_token: 'access_token')
30
30
  response.id_token = id_token
31
31
  end
32
32
  end
@@ -42,7 +42,7 @@ describe Rack::OAuth2::Server::Token::AuthorizationCode do
42
42
  context "otherwise" do
43
43
  let :app do
44
44
  Rack::OAuth2::Server::Token.new do |request, response|
45
- response.access_token = Rack::OAuth2::AccessToken::Bearer.new(:access_token => 'access_token')
45
+ response.access_token = Rack::OAuth2::AccessToken::Bearer.new(access_token: 'access_token')
46
46
  end
47
47
  end
48
48
  its(:status) { should == 200 }
@@ -4,28 +4,28 @@ describe Rack::OAuth2::Server::Token::RefreshToken do
4
4
  subject { response }
5
5
  let(:request) { Rack::MockRequest.new app }
6
6
  let :response do
7
- request.post('/', :params => {
8
- :grant_type => "refresh_token",
9
- :client_id => "client_id",
10
- :refresh_token => "refresh_token"
7
+ request.post('/', params: {
8
+ grant_type: "refresh_token",
9
+ client_id: "client_id",
10
+ refresh_token: "refresh_token"
11
11
  })
12
12
  end
13
13
  let :id_token do
14
14
  OpenIDConnect::ResponseObject::IdToken.new(
15
- :iss => 'https://server.example.com',
16
- :user_id => 'user_id',
17
- :aud => 'client_id',
18
- :exp => 1313424327,
19
- :iat => 1313420327,
20
- :nonce => 'nonce',
21
- :secret => 'secret'
15
+ iss: 'https://server.example.com',
16
+ user_id: 'user_id',
17
+ aud: 'client_id',
18
+ exp: 1313424327,
19
+ iat: 1313420327,
20
+ nonce: 'nonce',
21
+ secret: 'secret'
22
22
  ).to_jwt private_key
23
23
  end
24
24
 
25
25
  context "when id_token is given" do
26
26
  let :app do
27
27
  Rack::OAuth2::Server::Token.new do |request, response|
28
- response.access_token = Rack::OAuth2::AccessToken::Bearer.new(:access_token => 'access_token')
28
+ response.access_token = Rack::OAuth2::AccessToken::Bearer.new(access_token: 'access_token')
29
29
  response.id_token = id_token
30
30
  end
31
31
  end
@@ -41,7 +41,7 @@ describe Rack::OAuth2::Server::Token::RefreshToken do
41
41
  context "otherwise" do
42
42
  let :app do
43
43
  Rack::OAuth2::Server::Token.new do |request, response|
44
- response.access_token = Rack::OAuth2::AccessToken::Bearer.new(:access_token => 'access_token')
44
+ response.access_token = Rack::OAuth2::AccessToken::Bearer.new(access_token: 'access_token')
45
45
  end
46
46
  end
47
47
  its(:status) { should == 200 }
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,4 @@
1
- if RUBY_VERSION >= '1.9'
2
- require 'cover_me'
3
- end
1
+ require 'cover_me'
4
2
 
5
3
  require 'rspec'
6
4
  require 'openid_connect'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openid_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-03 00:00:00.000000000 Z
12
+ date: 2012-10-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -172,13 +172,13 @@ dependencies:
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0.8'
174
174
  - !ruby/object:Gem::Dependency
175
- name: cover_me
175
+ name: rspec
176
176
  requirement: !ruby/object:Gem::Requirement
177
177
  none: false
178
178
  requirements:
179
179
  - - ! '>='
180
180
  - !ruby/object:Gem::Version
181
- version: 1.2.0
181
+ version: '2'
182
182
  type: :development
183
183
  prerelease: false
184
184
  version_requirements: !ruby/object:Gem::Requirement
@@ -186,15 +186,15 @@ dependencies:
186
186
  requirements:
187
187
  - - ! '>='
188
188
  - !ruby/object:Gem::Version
189
- version: 1.2.0
189
+ version: '2'
190
190
  - !ruby/object:Gem::Dependency
191
- name: rspec
191
+ name: webmock
192
192
  requirement: !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
195
  - - ! '>='
196
196
  - !ruby/object:Gem::Version
197
- version: '2'
197
+ version: 1.6.2
198
198
  type: :development
199
199
  prerelease: false
200
200
  version_requirements: !ruby/object:Gem::Requirement
@@ -202,15 +202,15 @@ dependencies:
202
202
  requirements:
203
203
  - - ! '>='
204
204
  - !ruby/object:Gem::Version
205
- version: '2'
205
+ version: 1.6.2
206
206
  - !ruby/object:Gem::Dependency
207
- name: webmock
207
+ name: cover_me
208
208
  requirement: !ruby/object:Gem::Requirement
209
209
  none: false
210
210
  requirements:
211
211
  - - ! '>='
212
212
  - !ruby/object:Gem::Version
213
- version: 1.6.2
213
+ version: 1.2.0
214
214
  type: :development
215
215
  prerelease: false
216
216
  version_requirements: !ruby/object:Gem::Requirement
@@ -218,7 +218,7 @@ dependencies:
218
218
  requirements:
219
219
  - - ! '>='
220
220
  - !ruby/object:Gem::Version
221
- version: 1.6.2
221
+ version: 1.2.0
222
222
  description: OpenID Connect Server & Client Library
223
223
  email:
224
224
  - nov@matake.jp
@@ -285,6 +285,8 @@ files:
285
285
  - spec/mock_response/errors/invalid_request.json
286
286
  - spec/mock_response/errors/unknown.json
287
287
  - spec/mock_response/id_token.json
288
+ - spec/mock_response/public_keys/jwk.json
289
+ - spec/mock_response/public_keys/x509.pem
288
290
  - spec/mock_response/user_info/openid.json
289
291
  - spec/openid_connect/access_token_spec.rb
290
292
  - spec/openid_connect/client/registrar_spec.rb
@@ -351,6 +353,8 @@ test_files:
351
353
  - spec/mock_response/errors/invalid_request.json
352
354
  - spec/mock_response/errors/unknown.json
353
355
  - spec/mock_response/id_token.json
356
+ - spec/mock_response/public_keys/jwk.json
357
+ - spec/mock_response/public_keys/x509.pem
354
358
  - spec/mock_response/user_info/openid.json
355
359
  - spec/openid_connect/access_token_spec.rb
356
360
  - spec/openid_connect/client/registrar_spec.rb