openid_connect 0.2.0.alpha3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- openid_connect (0.2.0.alpha)
4
+ openid_connect (0.2.0.alpha3)
5
5
  activemodel (>= 3)
6
6
  attr_required (>= 0.0.5)
7
7
  json (>= 1.4.3)
@@ -15,10 +15,10 @@ PATH
15
15
  GEM
16
16
  remote: http://rubygems.org/
17
17
  specs:
18
- activemodel (3.2.1)
19
- activesupport (= 3.2.1)
18
+ activemodel (3.2.3)
19
+ activesupport (= 3.2.3)
20
20
  builder (~> 3.0.0)
21
- activesupport (3.2.1)
21
+ activesupport (3.2.3)
22
22
  i18n (~> 0.6)
23
23
  multi_json (~> 1.0)
24
24
  addressable (2.2.7)
@@ -37,18 +37,19 @@ GEM
37
37
  i18n (0.6.0)
38
38
  jruby-openssl (0.7.6.1)
39
39
  bouncy-castle-java (>= 1.5.0146.1)
40
- json (1.6.5)
40
+ json (1.6.6)
41
+ json (1.6.6-java)
41
42
  json-jwt (0.0.7)
42
43
  activesupport (>= 2.3)
43
44
  i18n
44
45
  json (>= 1.4.3)
45
46
  url_safe_base64
46
- mail (2.4.1)
47
+ mail (2.4.4)
47
48
  i18n (>= 0.4.0)
48
49
  mime-types (~> 1.16)
49
50
  treetop (~> 1.4.8)
50
- mime-types (1.17.2)
51
- multi_json (1.1.0)
51
+ mime-types (1.18)
52
+ multi_json (1.2.0)
52
53
  polyglot (0.3.3)
53
54
  rack (1.4.1)
54
55
  rack-oauth2 (0.14.4)
@@ -59,14 +60,14 @@ GEM
59
60
  json (>= 1.4.3)
60
61
  rack (>= 1.1)
61
62
  rake (0.9.2.2)
62
- rspec (2.8.0)
63
- rspec-core (~> 2.8.0)
64
- rspec-expectations (~> 2.8.0)
65
- rspec-mocks (~> 2.8.0)
66
- rspec-core (2.8.0)
67
- rspec-expectations (2.8.0)
68
- diff-lcs (~> 1.1.2)
69
- rspec-mocks (2.8.0)
63
+ rspec (2.9.0)
64
+ rspec-core (~> 2.9.0)
65
+ rspec-expectations (~> 2.9.0)
66
+ rspec-mocks (~> 2.9.0)
67
+ rspec-core (2.9.0)
68
+ rspec-expectations (2.9.0)
69
+ diff-lcs (~> 1.1.3)
70
+ rspec-mocks (2.9.0)
70
71
  swd (0.1.2)
71
72
  activesupport (>= 3)
72
73
  attr_required (>= 0.0.5)
@@ -76,14 +77,14 @@ GEM
76
77
  treetop (1.4.10)
77
78
  polyglot
78
79
  polyglot (>= 0.3.1)
79
- tzinfo (0.3.31)
80
+ tzinfo (0.3.32)
80
81
  url_safe_base64 (0.2.1)
81
82
  validate_email (0.1.5)
82
83
  activemodel (>= 3.0)
83
84
  mail (>= 2.2.5)
84
85
  validate_url (0.2.0)
85
86
  activemodel (>= 3.0.0)
86
- webmock (1.8.0)
87
+ webmock (1.8.5)
87
88
  addressable (>= 2.2.7)
88
89
  crack (>= 0.1.7)
89
90
  yamler (0.1.0)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0.alpha3
1
+ 0.2.0
@@ -9,9 +9,12 @@ module OpenIDConnect
9
9
  attr_missing!
10
10
  end
11
11
 
12
- def all_attributes
12
+ def self.all_attributes
13
13
  required_attributes + optional_attributes
14
14
  end
15
+ def all_attributes
16
+ self.class.all_attributes
17
+ end
15
18
 
16
19
  def require_at_least_one_attributes
17
20
  all_blank = all_attributes.all? do |key|
@@ -21,7 +21,7 @@ module OpenIDConnect
21
21
  if hash.include?(:user_info)
22
22
  hash[:userinfo] = hash.delete(:user_info)
23
23
  end
24
- hash
24
+ hash.with_indifferent_access
25
25
  end
26
26
  alias_method_chain :as_json, :user_info
27
27
 
@@ -10,16 +10,20 @@ module OpenIDConnect
10
10
  def initialize_with_claims(attributes = {})
11
11
  initialize_without_claims attributes
12
12
  if claims.present?
13
+ _claims_ = {}
13
14
  claims.each do |key, value|
14
- case value
15
- when :optional
16
- claims[key] = {
15
+ _claims_[key] = case value
16
+ when :optional, 'optional'
17
+ {
17
18
  :optional => true
18
19
  }
19
- when :required
20
- claims[key] = nil
20
+ when :required, 'required'
21
+ nil
22
+ else
23
+ value
21
24
  end
22
25
  end
26
+ self.claims = _claims_.with_indifferent_access
23
27
  end
24
28
  end
25
29
 
@@ -13,8 +13,8 @@ describe OpenIDConnect::RequestObject do
13
13
  :scope => 'openid email',
14
14
  :state => 'state1234',
15
15
  :nonce => 'nonce1234',
16
- :display => :touch,
17
- :prompt => :none,
16
+ :display => 'touch',
17
+ :prompt => 'none',
18
18
  :userinfo => {
19
19
  :claims => {
20
20
  :name => :required,
@@ -25,14 +25,14 @@ describe OpenIDConnect::RequestObject do
25
25
  :max_age => 10,
26
26
  :claims => {
27
27
  :acr => {
28
- :values => [2, 3, 4]
28
+ :values => ['2', '3', '4']
29
29
  }
30
30
  }
31
31
  }
32
32
  }
33
33
  end
34
34
  let(:jwtnized) do
35
- 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnRfaWQiOiJjbGllbnRfaWQiLCJyZXNwb25zZV90eXBlIjoidG9rZW4gaWRfdG9rZW4iLCJyZWRpcmVjdF91cmkiOiJodHRwczovL2NsaWVudC5leGFtcGxlLmNvbSIsInNjb3BlIjoib3BlbmlkIGVtYWlsIiwic3RhdGUiOiJzdGF0ZTEyMzQiLCJub25jZSI6Im5vbmNlMTIzNCIsImRpc3BsYXkiOiJ0b3VjaCIsInByb21wdCI6Im5vbmUiLCJpZF90b2tlbiI6eyJjbGFpbXMiOnsiYWNyIjp7InZhbHVlcyI6WzIsMyw0XX19LCJtYXhfYWdlIjoxMH0sInVzZXJpbmZvIjp7ImNsYWltcyI6eyJuYW1lIjpudWxsLCJlbWFpbCI6eyJvcHRpb25hbCI6dHJ1ZX19fX0.fdwSNB3TSnxpRZR6QwXTDb7PtBiPkk6ozN6ABZcoGxc'
35
+ 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGllbnRfaWQiOiJjbGllbnRfaWQiLCJyZXNwb25zZV90eXBlIjoidG9rZW4gaWRfdG9rZW4iLCJyZWRpcmVjdF91cmkiOiJodHRwczovL2NsaWVudC5leGFtcGxlLmNvbSIsInNjb3BlIjoib3BlbmlkIGVtYWlsIiwic3RhdGUiOiJzdGF0ZTEyMzQiLCJub25jZSI6Im5vbmNlMTIzNCIsImRpc3BsYXkiOiJ0b3VjaCIsInByb21wdCI6Im5vbmUiLCJpZF90b2tlbiI6eyJjbGFpbXMiOnsiYWNyIjp7InZhbHVlcyI6WyIyIiwiMyIsIjQiXX19LCJtYXhfYWdlIjoxMH0sInVzZXJpbmZvIjp7ImNsYWltcyI6eyJuYW1lIjpudWxsLCJlbWFpbCI6eyJvcHRpb25hbCI6dHJ1ZX19fX0.ARgNywrsRkQtTFIqWnl38JLDYfb2g91yLY04l5-yQvQ'
36
36
  end
37
37
  let(:jsonized) do
38
38
  {
@@ -42,12 +42,12 @@ describe OpenIDConnect::RequestObject do
42
42
  :scope => "openid email",
43
43
  :state => "state1234",
44
44
  :nonce => "nonce1234",
45
- :display => :touch,
46
- :prompt => :none,
45
+ :display => "touch",
46
+ :prompt => "none",
47
47
  :id_token => {
48
48
  :claims => {
49
49
  :acr => {
50
- :values => [2, 3, 4]
50
+ :values => ['2', '3', '4']
51
51
  }
52
52
  },
53
53
  :max_age => 10
@@ -64,9 +64,9 @@ describe OpenIDConnect::RequestObject do
64
64
  end
65
65
  it { should be_valid }
66
66
  its(:as_json) do
67
- should == jsonized
67
+ should == jsonized.with_indifferent_access
68
68
  end
69
-
69
+
70
70
  describe '#to_jwt' do
71
71
  it do
72
72
  request_object.to_jwt('secret', :HS256).should == jwtnized
@@ -75,7 +75,7 @@ describe OpenIDConnect::RequestObject do
75
75
 
76
76
  describe '.decode' do
77
77
  it do
78
- OpenIDConnect::RequestObject.decode(jwtnized, 'secret').to_json.should == jsonized.to_json
78
+ OpenIDConnect::RequestObject.decode(jwtnized, 'secret').as_json.should == jsonized.with_indifferent_access
79
79
  end
80
80
  end
81
81
 
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openid_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.alpha3
5
- prerelease: 6
4
+ version: 0.2.0
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - nov matake
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-29 00:00:00.000000000Z
12
+ date: 2012-04-03 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
16
- requirement: &70121811894880 !ruby/object:Gem::Requirement
16
+ requirement: &70310184869080 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.4.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70121811894880
24
+ version_requirements: *70310184869080
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: tzinfo
27
- requirement: &70121811894460 !ruby/object:Gem::Requirement
27
+ requirement: &70310184868660 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70121811894460
35
+ version_requirements: *70310184868660
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: attr_required
38
- requirement: &70121811893920 !ruby/object:Gem::Requirement
38
+ requirement: &70310184865020 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.0.5
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70121811893920
46
+ version_requirements: *70310184865020
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activemodel
49
- requirement: &70121811893420 !ruby/object:Gem::Requirement
49
+ requirement: &70310184864480 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '3'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70121811893420
57
+ version_requirements: *70310184864480
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: validate_url
60
- requirement: &70121811893040 !ruby/object:Gem::Requirement
60
+ requirement: &70310184864080 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70121811893040
68
+ version_requirements: *70310184864080
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: validate_email
71
- requirement: &70121811892580 !ruby/object:Gem::Requirement
71
+ requirement: &70310184863620 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70121811892580
79
+ version_requirements: *70310184863620
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: json-jwt
82
- requirement: &70121811892080 !ruby/object:Gem::Requirement
82
+ requirement: &70310184863120 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 0.0.3
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *70121811892080
90
+ version_requirements: *70310184863120
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: swd
93
- requirement: &70121811891580 !ruby/object:Gem::Requirement
93
+ requirement: &70310184862620 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 0.1.2
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *70121811891580
101
+ version_requirements: *70310184862620
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rack-oauth2
104
- requirement: &70121811891120 !ruby/object:Gem::Requirement
104
+ requirement: &70310184862160 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 0.14.2
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *70121811891120
112
+ version_requirements: *70310184862160
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: rake
115
- requirement: &70121811890660 !ruby/object:Gem::Requirement
115
+ requirement: &70310184861640 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0.8'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *70121811890660
123
+ version_requirements: *70310184861640
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: cover_me
126
- requirement: &70121811890180 !ruby/object:Gem::Requirement
126
+ requirement: &70310184861120 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 1.2.0
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *70121811890180
134
+ version_requirements: *70310184861120
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: rspec
137
- requirement: &70121811889720 !ruby/object:Gem::Requirement
137
+ requirement: &70310184860560 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: '2'
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *70121811889720
145
+ version_requirements: *70310184860560
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: webmock
148
- requirement: &70121811889260 !ruby/object:Gem::Requirement
148
+ requirement: &70310184859940 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,7 +153,7 @@ dependencies:
153
153
  version: 1.6.2
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *70121811889260
156
+ version_requirements: *70310184859940
157
157
  description: OpenID Connect Server & Client Library
158
158
  email:
159
159
  - nov@matake.jp
@@ -259,9 +259,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
259
259
  required_rubygems_version: !ruby/object:Gem::Requirement
260
260
  none: false
261
261
  requirements:
262
- - - ! '>'
262
+ - - ! '>='
263
263
  - !ruby/object:Gem::Version
264
- version: 1.3.1
264
+ version: '0'
265
265
  requirements: []
266
266
  rubyforge_project:
267
267
  rubygems_version: 1.8.12