openid_connect 0.2.0 → 0.2.1
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.
- data/Gemfile.lock +21 -21
- data/VERSION +1 -1
- data/lib/openid_connect.rb +1 -0
- data/lib/openid_connect/response_object/id_token.rb +3 -4
- data/lib/openid_connect/response_object/user_info/open_id.rb +11 -10
- data/lib/rack/oauth2/server/authorize/request_with_connect_params.rb +0 -2
- data/lib/rack/oauth2/server/resource/error_with_connect_ext.rb +14 -0
- data/spec/mock_response/id_token.json +2 -1
- data/spec/openid_connect/access_token_spec.rb +2 -1
- data/spec/openid_connect/response_object/id_token_spec.rb +41 -32
- data/spec/openid_connect/response_object/user_info/open_id_spec.rb +19 -7
- data/spec/rack/oauth2/server/authorize/extension/code_and_id_token_and_token_spec.rb +2 -1
- data/spec/rack/oauth2/server/authorize/extension/code_and_id_token_spec.rb +2 -1
- data/spec/rack/oauth2/server/authorize/extension/id_token_and_token_spec.rb +2 -1
- data/spec/rack/oauth2/server/authorize/extension/id_token_spec.rb +2 -1
- data/spec/rack/oauth2/server/resource/error_with_connect_ext_spec.rb +12 -0
- data/spec/rack/oauth2/server/token/authorization_code_spec.rb +1 -0
- data/spec/rack/oauth2/server/token/refresh_token_spec.rb +1 -0
- metadata +97 -29
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
openid_connect (0.2.0
|
4
|
+
openid_connect (0.2.0)
|
5
5
|
activemodel (>= 3)
|
6
6
|
attr_required (>= 0.0.5)
|
7
7
|
json (>= 1.4.3)
|
@@ -15,17 +15,17 @@ PATH
|
|
15
15
|
GEM
|
16
16
|
remote: http://rubygems.org/
|
17
17
|
specs:
|
18
|
-
activemodel (3.2.
|
19
|
-
activesupport (= 3.2.
|
18
|
+
activemodel (3.2.6)
|
19
|
+
activesupport (= 3.2.6)
|
20
20
|
builder (~> 3.0.0)
|
21
|
-
activesupport (3.2.
|
21
|
+
activesupport (3.2.6)
|
22
22
|
i18n (~> 0.6)
|
23
23
|
multi_json (~> 1.0)
|
24
|
-
addressable (2.2.
|
24
|
+
addressable (2.2.8)
|
25
25
|
attr_required (0.0.5)
|
26
26
|
bouncy-castle-java (1.5.0146.1)
|
27
27
|
builder (3.0.0)
|
28
|
-
configatron (2.9.
|
28
|
+
configatron (2.9.1)
|
29
29
|
yamler (>= 0.1.0)
|
30
30
|
cover_me (1.2.0)
|
31
31
|
configatron
|
@@ -33,12 +33,12 @@ GEM
|
|
33
33
|
crack (0.3.1)
|
34
34
|
diff-lcs (1.1.3)
|
35
35
|
hashie (1.2.0)
|
36
|
-
httpclient (2.2.
|
36
|
+
httpclient (2.2.5)
|
37
37
|
i18n (0.6.0)
|
38
|
-
jruby-openssl (0.7.
|
38
|
+
jruby-openssl (0.7.7)
|
39
39
|
bouncy-castle-java (>= 1.5.0146.1)
|
40
|
-
json (1.
|
41
|
-
json (1.
|
40
|
+
json (1.7.3)
|
41
|
+
json (1.7.3-java)
|
42
42
|
json-jwt (0.0.7)
|
43
43
|
activesupport (>= 2.3)
|
44
44
|
i18n
|
@@ -48,8 +48,8 @@ GEM
|
|
48
48
|
i18n (>= 0.4.0)
|
49
49
|
mime-types (~> 1.16)
|
50
50
|
treetop (~> 1.4.8)
|
51
|
-
mime-types (1.
|
52
|
-
multi_json (1.
|
51
|
+
mime-types (1.19)
|
52
|
+
multi_json (1.3.6)
|
53
53
|
polyglot (0.3.3)
|
54
54
|
rack (1.4.1)
|
55
55
|
rack-oauth2 (0.14.4)
|
@@ -60,14 +60,14 @@ GEM
|
|
60
60
|
json (>= 1.4.3)
|
61
61
|
rack (>= 1.1)
|
62
62
|
rake (0.9.2.2)
|
63
|
-
rspec (2.
|
64
|
-
rspec-core (~> 2.
|
65
|
-
rspec-expectations (~> 2.
|
66
|
-
rspec-mocks (~> 2.
|
67
|
-
rspec-core (2.
|
68
|
-
rspec-expectations (2.
|
63
|
+
rspec (2.10.0)
|
64
|
+
rspec-core (~> 2.10.0)
|
65
|
+
rspec-expectations (~> 2.10.0)
|
66
|
+
rspec-mocks (~> 2.10.0)
|
67
|
+
rspec-core (2.10.1)
|
68
|
+
rspec-expectations (2.10.0)
|
69
69
|
diff-lcs (~> 1.1.3)
|
70
|
-
rspec-mocks (2.
|
70
|
+
rspec-mocks (2.10.1)
|
71
71
|
swd (0.1.2)
|
72
72
|
activesupport (>= 3)
|
73
73
|
attr_required (>= 0.0.5)
|
@@ -77,14 +77,14 @@ GEM
|
|
77
77
|
treetop (1.4.10)
|
78
78
|
polyglot
|
79
79
|
polyglot (>= 0.3.1)
|
80
|
-
tzinfo (0.3.
|
80
|
+
tzinfo (0.3.33)
|
81
81
|
url_safe_base64 (0.2.1)
|
82
82
|
validate_email (0.1.5)
|
83
83
|
activemodel (>= 3.0)
|
84
84
|
mail (>= 2.2.5)
|
85
85
|
validate_url (0.2.0)
|
86
86
|
activemodel (>= 3.0.0)
|
87
|
-
webmock (1.8.
|
87
|
+
webmock (1.8.7)
|
88
88
|
addressable (>= 2.2.7)
|
89
89
|
crack (>= 0.1.7)
|
90
90
|
yamler (0.1.0)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.1
|
data/lib/openid_connect.rb
CHANGED
@@ -10,6 +10,7 @@ require 'attr_optional'
|
|
10
10
|
require 'rack/oauth2'
|
11
11
|
require 'rack/oauth2/server/authorize/request_with_connect_params'
|
12
12
|
require 'rack/oauth2/server/id_token_response'
|
13
|
+
require 'rack/oauth2/server/resource/error_with_connect_ext'
|
13
14
|
|
14
15
|
module OpenIDConnect
|
15
16
|
VERSION = ::File.read(
|
@@ -5,15 +5,14 @@ module OpenIDConnect
|
|
5
5
|
class IdToken < ConnectObject
|
6
6
|
class InvalidToken < Exception; end
|
7
7
|
|
8
|
-
attr_required :iss, :user_id, :aud, :exp, :
|
9
|
-
attr_optional :acr, :auth_time
|
8
|
+
attr_required :iss, :user_id, :aud, :exp, :iat
|
9
|
+
attr_optional :acr, :auth_time, :nonce
|
10
10
|
|
11
11
|
def initialize(attributes = {})
|
12
12
|
super
|
13
|
-
(all_attributes - [:exp, :auth_time]).each do |key|
|
13
|
+
(all_attributes - [:exp, :iat, :auth_time]).each do |key|
|
14
14
|
self.send "#{key}=", self.send(key).try(:to_s)
|
15
15
|
end
|
16
|
-
@exp = @exp.to_i
|
17
16
|
end
|
18
17
|
|
19
18
|
def verify!(expected = {})
|
@@ -5,25 +5,26 @@ module OpenIDConnect
|
|
5
5
|
attr_optional(
|
6
6
|
:user_id,
|
7
7
|
:name,
|
8
|
-
:given_name,
|
9
8
|
:family_name,
|
9
|
+
:given_name,
|
10
10
|
:middle_name,
|
11
11
|
:nickname,
|
12
|
-
:
|
13
|
-
:
|
12
|
+
:preferred_username,
|
13
|
+
:profile,
|
14
|
+
:picture,
|
15
|
+
:website,
|
14
16
|
:gender,
|
17
|
+
:birthday,
|
15
18
|
:zoneinfo,
|
16
19
|
:locale,
|
17
|
-
:birthday,
|
18
20
|
:updated_time,
|
19
|
-
:profile,
|
20
|
-
:picture,
|
21
|
-
:website,
|
22
21
|
:email,
|
23
|
-
:
|
22
|
+
:email_verified,
|
23
|
+
:address,
|
24
|
+
:phone_number
|
24
25
|
)
|
25
26
|
|
26
|
-
validates :
|
27
|
+
validates :email_verified, :inclusion => {:in => [true, false]}, :allow_nil => true
|
27
28
|
validates :gender, :inclusion => {:in => ['male', 'female']}, :allow_nil => true
|
28
29
|
validates :zoneinfo, :inclusion => {:in => TZInfo::TimezoneProxy.all.collect(&:name)}, :allow_nil => true
|
29
30
|
validates :profile, :picture, :website, :url => true, :allow_nil => true
|
@@ -34,7 +35,7 @@ module OpenIDConnect
|
|
34
35
|
|
35
36
|
def initialize(attributes = {})
|
36
37
|
super
|
37
|
-
(all_attributes - [:
|
38
|
+
(all_attributes - [:email_verified, :address]).each do |key|
|
38
39
|
self.send "#{key}=", self.send(key).try(:to_s)
|
39
40
|
end
|
40
41
|
end
|
@@ -1,6 +1,5 @@
|
|
1
1
|
class Rack::OAuth2::Server::Authorize
|
2
2
|
module RequestWithConnectParams
|
3
|
-
# NOTE: nonce is REQUIRED, but define optional attributes not to break rack-oauth2 for now
|
4
3
|
CONNECT_EXT_PARAMS = [:nonce, :display, :prompt, :request, :request_uri]
|
5
4
|
|
6
5
|
def self.included(klass)
|
@@ -11,7 +10,6 @@ class Rack::OAuth2::Server::Authorize
|
|
11
10
|
CONNECT_EXT_PARAMS.each do |attribute|
|
12
11
|
self.send :"#{attribute}=", params[attribute.to_s]
|
13
12
|
end
|
14
|
-
invalid_request!('Nonce Required') if openid_connect_request? && nonce.blank?
|
15
13
|
end
|
16
14
|
alias_method_chain :initialize, :connect_params
|
17
15
|
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Rack
|
2
|
+
module OAuth2
|
3
|
+
module Server
|
4
|
+
class Resource
|
5
|
+
module ErrorWithConnectExt
|
6
|
+
def invalid_schema!(description = 'The requested schema is invalid or unsupported', options = {})
|
7
|
+
bad_request! :invalid_schema, description, options
|
8
|
+
end
|
9
|
+
end
|
10
|
+
Request.send :include, ErrorWithConnectExt
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -35,7 +35,8 @@ describe OpenIDConnect::AccessToken do
|
|
35
35
|
:user_id => 'user_id',
|
36
36
|
:aud => 'client_id',
|
37
37
|
:nonce => 'nonce',
|
38
|
-
:exp =>
|
38
|
+
:exp => 1.week.from_now,
|
39
|
+
:iat => Time.now
|
39
40
|
)
|
40
41
|
end
|
41
42
|
its(:id_token) { should be_a OpenIDConnect::ResponseObject::IdToken }
|
@@ -5,29 +5,29 @@ describe OpenIDConnect::ResponseObject::IdToken do
|
|
5
5
|
let(:id_token) { klass.new attributes }
|
6
6
|
let(:attributes) { required_attributes }
|
7
7
|
let(:ext) { 10.minutes.from_now }
|
8
|
+
let(:iat) { Time.now }
|
8
9
|
let :required_attributes do
|
9
10
|
{
|
10
11
|
:iss => 'https://server.example.com',
|
11
12
|
:user_id => 'user_id',
|
12
13
|
:aud => 'client_id',
|
13
|
-
:
|
14
|
-
:
|
14
|
+
:exp => ext,
|
15
|
+
:iat => iat
|
15
16
|
}
|
16
17
|
end
|
17
18
|
|
18
19
|
describe 'attributes' do
|
19
20
|
subject { klass }
|
20
|
-
its(:required_attributes) { should == [:iss, :user_id, :aud, :exp, :
|
21
|
-
its(:optional_attributes) { should == [:acr, :auth_time] }
|
21
|
+
its(:required_attributes) { should == [:iss, :user_id, :aud, :exp, :iat] }
|
22
|
+
its(:optional_attributes) { should == [:acr, :auth_time, :nonce] }
|
22
23
|
end
|
23
24
|
|
24
25
|
describe '#verify!' do
|
25
|
-
context 'when both issuer, client_id
|
26
|
+
context 'when both issuer, client_id are valid' do
|
26
27
|
it do
|
27
28
|
id_token.verify!(
|
28
29
|
:issuer => attributes[:iss],
|
29
|
-
:client_id => attributes[:aud]
|
30
|
-
:nonce => attributes[:nonce]
|
30
|
+
:client_id => attributes[:aud]
|
31
31
|
).should be_true
|
32
32
|
end
|
33
33
|
|
@@ -37,8 +37,7 @@ describe OpenIDConnect::ResponseObject::IdToken do
|
|
37
37
|
expect do
|
38
38
|
id_token.verify!(
|
39
39
|
:issuer => attributes[:iss],
|
40
|
-
:client_id => attributes[:aud]
|
41
|
-
:nonce => attributes[:nonce]
|
40
|
+
:client_id => attributes[:aud]
|
42
41
|
)
|
43
42
|
end.should raise_error OpenIDConnect::ResponseObject::IdToken::InvalidToken
|
44
43
|
end
|
@@ -50,8 +49,7 @@ describe OpenIDConnect::ResponseObject::IdToken do
|
|
50
49
|
expect do
|
51
50
|
id_token.verify!(
|
52
51
|
:issuer => 'invalid_issuer',
|
53
|
-
:client_id => attributes[:aud]
|
54
|
-
:nonce => attributes[:nonce]
|
52
|
+
:client_id => attributes[:aud]
|
55
53
|
)
|
56
54
|
end.should raise_error OpenIDConnect::ResponseObject::IdToken::InvalidToken
|
57
55
|
end
|
@@ -61,8 +59,7 @@ describe OpenIDConnect::ResponseObject::IdToken do
|
|
61
59
|
it do
|
62
60
|
expect do
|
63
61
|
id_token.verify!(
|
64
|
-
:client_id => attributes[:aud]
|
65
|
-
:nonce => attributes[:nonce]
|
62
|
+
:client_id => attributes[:aud]
|
66
63
|
)
|
67
64
|
end.should raise_error OpenIDConnect::ResponseObject::IdToken::InvalidToken
|
68
65
|
end
|
@@ -73,8 +70,7 @@ describe OpenIDConnect::ResponseObject::IdToken do
|
|
73
70
|
expect do
|
74
71
|
id_token.verify!(
|
75
72
|
:issuer => attributes[:iss],
|
76
|
-
:client_id => 'invalid_client'
|
77
|
-
:nonce => attributes[:nonce]
|
73
|
+
:client_id => 'invalid_client'
|
78
74
|
)
|
79
75
|
end.should raise_error OpenIDConnect::ResponseObject::IdToken::InvalidToken
|
80
76
|
end
|
@@ -84,33 +80,46 @@ describe OpenIDConnect::ResponseObject::IdToken do
|
|
84
80
|
it do
|
85
81
|
expect do
|
86
82
|
id_token.verify!(
|
87
|
-
:issuer => attributes[:iss]
|
88
|
-
:nonce => attributes[:nonce]
|
83
|
+
:issuer => attributes[:iss]
|
89
84
|
)
|
90
85
|
end.should raise_error OpenIDConnect::ResponseObject::IdToken::InvalidToken
|
91
86
|
end
|
92
87
|
end
|
93
88
|
|
94
|
-
context 'when nonce is
|
95
|
-
|
96
|
-
|
89
|
+
context 'when nonce is given' do
|
90
|
+
let(:attributes) { required_attributes.merge(:nonce => 'nonce') }
|
91
|
+
|
92
|
+
context 'when nonce is valid' do
|
93
|
+
it do
|
97
94
|
id_token.verify!(
|
98
95
|
:issuer => attributes[:iss],
|
99
96
|
:client_id => attributes[:aud],
|
100
|
-
:nonce =>
|
101
|
-
)
|
102
|
-
end
|
97
|
+
:nonce => attributes[:nonce]
|
98
|
+
).should be_true
|
99
|
+
end
|
103
100
|
end
|
104
|
-
end
|
105
101
|
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
102
|
+
context 'when nonce is invalid' do
|
103
|
+
it do
|
104
|
+
expect do
|
105
|
+
id_token.verify!(
|
106
|
+
:issuer => attributes[:iss],
|
107
|
+
:client_id => attributes[:aud],
|
108
|
+
:nonce => 'invalid_nonce'
|
109
|
+
)
|
110
|
+
end.should raise_error OpenIDConnect::ResponseObject::IdToken::InvalidToken
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
context 'when nonce is missing' do
|
115
|
+
it do
|
116
|
+
expect do
|
117
|
+
id_token.verify!(
|
118
|
+
:issuer => attributes[:iss],
|
119
|
+
:client_id => attributes[:aud]
|
120
|
+
)
|
121
|
+
end.should raise_error OpenIDConnect::ResponseObject::IdToken::InvalidToken
|
122
|
+
end
|
114
123
|
end
|
115
124
|
end
|
116
125
|
end
|
@@ -10,13 +10,25 @@ describe OpenIDConnect::ResponseObject::UserInfo::OpenID do
|
|
10
10
|
its(:required_attributes) { should == [] }
|
11
11
|
its(:optional_attributes) do
|
12
12
|
should == [
|
13
|
-
:user_id,
|
14
|
-
:
|
15
|
-
:
|
16
|
-
:
|
17
|
-
:
|
13
|
+
:user_id,
|
14
|
+
:name,
|
15
|
+
:family_name,
|
16
|
+
:given_name,
|
17
|
+
:middle_name,
|
18
|
+
:nickname,
|
19
|
+
:preferred_username,
|
20
|
+
:profile,
|
21
|
+
:picture,
|
22
|
+
:website,
|
23
|
+
:gender,
|
24
|
+
:birthday,
|
25
|
+
:zoneinfo,
|
26
|
+
:locale,
|
27
|
+
:updated_time,
|
18
28
|
:email,
|
19
|
-
:
|
29
|
+
:email_verified,
|
30
|
+
:address,
|
31
|
+
:phone_number
|
20
32
|
]
|
21
33
|
end
|
22
34
|
end
|
@@ -44,7 +56,7 @@ describe OpenIDConnect::ResponseObject::UserInfo::OpenID do
|
|
44
56
|
its(:errors) { should include :email }
|
45
57
|
end
|
46
58
|
|
47
|
-
[:
|
59
|
+
[:email_verified, :gender, :zoneinfo].each do |one_of_list|
|
48
60
|
context "when #{one_of_list} is invalid" do
|
49
61
|
let :attributes do
|
50
62
|
{one_of_list => 'Out of List'}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper.rb'
|
2
|
+
|
3
|
+
describe Rack::OAuth2::Server::Resource::ErrorWithConnectExt do
|
4
|
+
let(:env) { Rack::MockRequest.env_for("/authorize?client_id=client_id") }
|
5
|
+
let(:request) { Rack::OAuth2::Server::Resource::Request.new env }
|
6
|
+
|
7
|
+
describe 'invalid_schema!' do
|
8
|
+
it do
|
9
|
+
expect { request.invalid_schema! }.should raise_error Rack::OAuth2::Server::Resource::BadRequest
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
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.2.
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04
|
12
|
+
date: 2012-07-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 1.4.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.4.3
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: tzinfo
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: attr_required
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: 0.0.5
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.0.5
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: activemodel
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '3'
|
55
70
|
type: :runtime
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '3'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: validate_url
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :runtime
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: validate_email
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: '0'
|
77
102
|
type: :runtime
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: json-jwt
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ! '>='
|
@@ -87,10 +117,15 @@ dependencies:
|
|
87
117
|
version: 0.0.3
|
88
118
|
type: :runtime
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 0.0.3
|
91
126
|
- !ruby/object:Gem::Dependency
|
92
127
|
name: swd
|
93
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
94
129
|
none: false
|
95
130
|
requirements:
|
96
131
|
- - ! '>='
|
@@ -98,10 +133,15 @@ dependencies:
|
|
98
133
|
version: 0.1.2
|
99
134
|
type: :runtime
|
100
135
|
prerelease: false
|
101
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 0.1.2
|
102
142
|
- !ruby/object:Gem::Dependency
|
103
143
|
name: rack-oauth2
|
104
|
-
requirement:
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
105
145
|
none: false
|
106
146
|
requirements:
|
107
147
|
- - ! '>='
|
@@ -109,10 +149,15 @@ dependencies:
|
|
109
149
|
version: 0.14.2
|
110
150
|
type: :runtime
|
111
151
|
prerelease: false
|
112
|
-
version_requirements:
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 0.14.2
|
113
158
|
- !ruby/object:Gem::Dependency
|
114
159
|
name: rake
|
115
|
-
requirement:
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
116
161
|
none: false
|
117
162
|
requirements:
|
118
163
|
- - ! '>='
|
@@ -120,10 +165,15 @@ dependencies:
|
|
120
165
|
version: '0.8'
|
121
166
|
type: :development
|
122
167
|
prerelease: false
|
123
|
-
version_requirements:
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0.8'
|
124
174
|
- !ruby/object:Gem::Dependency
|
125
175
|
name: cover_me
|
126
|
-
requirement:
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
127
177
|
none: false
|
128
178
|
requirements:
|
129
179
|
- - ! '>='
|
@@ -131,10 +181,15 @@ dependencies:
|
|
131
181
|
version: 1.2.0
|
132
182
|
type: :development
|
133
183
|
prerelease: false
|
134
|
-
version_requirements:
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: 1.2.0
|
135
190
|
- !ruby/object:Gem::Dependency
|
136
191
|
name: rspec
|
137
|
-
requirement:
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
138
193
|
none: false
|
139
194
|
requirements:
|
140
195
|
- - ! '>='
|
@@ -142,10 +197,15 @@ dependencies:
|
|
142
197
|
version: '2'
|
143
198
|
type: :development
|
144
199
|
prerelease: false
|
145
|
-
version_requirements:
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
202
|
+
requirements:
|
203
|
+
- - ! '>='
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '2'
|
146
206
|
- !ruby/object:Gem::Dependency
|
147
207
|
name: webmock
|
148
|
-
requirement:
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
149
209
|
none: false
|
150
210
|
requirements:
|
151
211
|
- - ! '>='
|
@@ -153,7 +213,12 @@ dependencies:
|
|
153
213
|
version: 1.6.2
|
154
214
|
type: :development
|
155
215
|
prerelease: false
|
156
|
-
version_requirements:
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: 1.6.2
|
157
222
|
description: OpenID Connect Server & Client Library
|
158
223
|
email:
|
159
224
|
- nov@matake.jp
|
@@ -203,6 +268,7 @@ files:
|
|
203
268
|
- lib/rack/oauth2/server/authorize/extension/id_token_and_token.rb
|
204
269
|
- lib/rack/oauth2/server/authorize/request_with_connect_params.rb
|
205
270
|
- lib/rack/oauth2/server/id_token_response.rb
|
271
|
+
- lib/rack/oauth2/server/resource/error_with_connect_ext.rb
|
206
272
|
- openid_connect.gemspec
|
207
273
|
- spec/helpers/webmock_helper.rb
|
208
274
|
- spec/mock_response/access_token/bearer.json
|
@@ -241,6 +307,7 @@ files:
|
|
241
307
|
- spec/rack/oauth2/server/authorize/extension/code_and_id_token_spec.rb
|
242
308
|
- spec/rack/oauth2/server/authorize/extension/id_token_and_token_spec.rb
|
243
309
|
- spec/rack/oauth2/server/authorize/extension/id_token_spec.rb
|
310
|
+
- spec/rack/oauth2/server/resource/error_with_connect_ext_spec.rb
|
244
311
|
- spec/rack/oauth2/server/token/authorization_code_spec.rb
|
245
312
|
- spec/rack/oauth2/server/token/refresh_token_spec.rb
|
246
313
|
- spec/spec_helper.rb
|
@@ -264,7 +331,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
264
331
|
version: '0'
|
265
332
|
requirements: []
|
266
333
|
rubyforge_project:
|
267
|
-
rubygems_version: 1.8.
|
334
|
+
rubygems_version: 1.8.24
|
268
335
|
signing_key:
|
269
336
|
specification_version: 3
|
270
337
|
summary: OpenID Connect Server & Client Library
|
@@ -306,6 +373,7 @@ test_files:
|
|
306
373
|
- spec/rack/oauth2/server/authorize/extension/code_and_id_token_spec.rb
|
307
374
|
- spec/rack/oauth2/server/authorize/extension/id_token_and_token_spec.rb
|
308
375
|
- spec/rack/oauth2/server/authorize/extension/id_token_spec.rb
|
376
|
+
- spec/rack/oauth2/server/resource/error_with_connect_ext_spec.rb
|
309
377
|
- spec/rack/oauth2/server/token/authorization_code_spec.rb
|
310
378
|
- spec/rack/oauth2/server/token/refresh_token_spec.rb
|
311
379
|
- spec/spec_helper.rb
|