openid_connect 0.0.19 → 0.0.20
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 +3 -3
- data/VERSION +1 -1
- data/lib/openid_connect.rb +2 -0
- data/lib/openid_connect/debugger.rb +3 -0
- data/lib/openid_connect/debugger/request_filter.rb +20 -0
- data/lib/openid_connect/response_object/id_token.rb +3 -1
- data/openid_connect.gemspec +1 -1
- data/spec/openid_connect/debugger/request_filter_spec.rb +29 -0
- data/spec/openid_connect_spec.rb +36 -0
- metadata +73 -3
data/Gemfile.lock
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
openid_connect (0.0.
|
4
|
+
openid_connect (0.0.19)
|
5
5
|
activemodel (>= 3)
|
6
6
|
attr_required (>= 0.0.3)
|
7
7
|
json (>= 1.4.3)
|
8
8
|
jwt (>= 0.1.3)
|
9
|
-
rack-oauth2 (>= 0.9.
|
9
|
+
rack-oauth2 (>= 0.9.4)
|
10
10
|
swd (>= 0.0.4)
|
11
11
|
tzinfo
|
12
12
|
validate_email
|
@@ -46,7 +46,7 @@ GEM
|
|
46
46
|
multi_json (1.0.3)
|
47
47
|
polyglot (0.3.2)
|
48
48
|
rack (1.3.2)
|
49
|
-
rack-oauth2 (0.9.
|
49
|
+
rack-oauth2 (0.9.4)
|
50
50
|
activesupport (>= 2.3)
|
51
51
|
attr_required (>= 0.0.3)
|
52
52
|
httpclient (>= 2.2.0.2)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.20
|
data/lib/openid_connect.rb
CHANGED
@@ -17,6 +17,7 @@ module OpenIDConnect
|
|
17
17
|
@@debugging
|
18
18
|
end
|
19
19
|
def self.debugging=(boolean)
|
20
|
+
Rack::OAuth2.debugging = boolean
|
20
21
|
@@debugging = boolean
|
21
22
|
end
|
22
23
|
def self.debug!
|
@@ -41,3 +42,4 @@ require 'openid_connect/access_token'
|
|
41
42
|
require 'openid_connect/response_object'
|
42
43
|
require 'openid_connect/server'
|
43
44
|
require 'openid_connect/discovery'
|
45
|
+
require 'openid_connect/debugger'
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module OpenIDConnect
|
2
|
+
module Debugger
|
3
|
+
class RequestFilter
|
4
|
+
# Callback called in HTTPClient (before sending a request)
|
5
|
+
# request:: HTTP::Message
|
6
|
+
def filter_request(request)
|
7
|
+
started = "======= [OpenIDConnect] HTTP REQUEST STARTED ======="
|
8
|
+
OpenIDConnect.logger.info [started, request.dump].join("\n")
|
9
|
+
end
|
10
|
+
|
11
|
+
# Callback called in HTTPClient (after received a response)
|
12
|
+
# request:: HTTP::Message
|
13
|
+
# response:: HTTP::Message
|
14
|
+
def filter_response(request, response)
|
15
|
+
finished = "======= [OpenIDConnect] HTTP REQUEST FINISHED ======="
|
16
|
+
OpenIDConnect.logger.info ['-' * 50, response.dump, finished].join("\n")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -29,8 +29,10 @@ module OpenIDConnect
|
|
29
29
|
def from_jwt(jwt_string, key_or_client)
|
30
30
|
attributes = case key_or_client
|
31
31
|
when Client
|
32
|
+
http_client = HTTPClient.new
|
33
|
+
http_client.request_filter << Debugger::RequestFilter
|
32
34
|
resource_request do
|
33
|
-
|
35
|
+
http_client.post key_or_client.check_session_uri, :id_token => jwt_string
|
34
36
|
end
|
35
37
|
else
|
36
38
|
JWT.decode(jwt_string, key_or_client).with_indifferent_access
|
data/openid_connect.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.add_runtime_dependency "validate_email"
|
19
19
|
s.add_runtime_dependency "jwt", ">= 0.1.3"
|
20
20
|
s.add_runtime_dependency "swd", ">= 0.0.4"
|
21
|
-
s.add_runtime_dependency "rack-oauth2", ">= 0.9.
|
21
|
+
s.add_runtime_dependency "rack-oauth2", ">= 0.9.4"
|
22
22
|
s.add_development_dependency "rake", ">= 0.8"
|
23
23
|
s.add_development_dependency "rcov", ">= 0.9"
|
24
24
|
s.add_development_dependency "rspec", ">= 2"
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe OpenIDConnect::Debugger::RequestFilter do
|
4
|
+
let(:resource_endpoint) { 'https://example.com/resources' }
|
5
|
+
let(:request) { HTTP::Message.new_request(:get, URI.parse(resource_endpoint)) }
|
6
|
+
let(:response) { HTTP::Message.new_response({:hello => 'world'}.to_json) }
|
7
|
+
let(:request_filter) { OpenIDConnect::Debugger::RequestFilter.new }
|
8
|
+
|
9
|
+
describe '#filter_request' do
|
10
|
+
it 'should log request' do
|
11
|
+
OpenIDConnect.logger.should_receive(:info).with(
|
12
|
+
"======= [OpenIDConnect] HTTP REQUEST STARTED =======\n" +
|
13
|
+
request.dump
|
14
|
+
)
|
15
|
+
request_filter.filter_request(request)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '#filter_response' do
|
20
|
+
it 'should log response' do
|
21
|
+
OpenIDConnect.logger.should_receive(:info).with(
|
22
|
+
"--------------------------------------------------\n" +
|
23
|
+
response.dump +
|
24
|
+
"\n======= [OpenIDConnect] HTTP REQUEST FINISHED ======="
|
25
|
+
)
|
26
|
+
request_filter.filter_response(request, response)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe OpenIDConnect do
|
4
|
+
subject { OpenIDConnect }
|
5
|
+
after { OpenIDConnect.debugging = false }
|
6
|
+
|
7
|
+
its(:logger) { should be_a Logger }
|
8
|
+
its(:debugging?) { should be_false }
|
9
|
+
|
10
|
+
describe '.debug!' do
|
11
|
+
before { OpenIDConnect.debug! }
|
12
|
+
its(:debugging?) { should be_true }
|
13
|
+
end
|
14
|
+
|
15
|
+
describe '.debug' do
|
16
|
+
it 'should enable debugging within given block' do
|
17
|
+
OpenIDConnect.debug do
|
18
|
+
Rack::OAuth2.debugging?.should be_true
|
19
|
+
OpenIDConnect.debugging?.should be_true
|
20
|
+
end
|
21
|
+
Rack::OAuth2.debugging?.should be_false
|
22
|
+
OpenIDConnect.debugging?.should be_false
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should not force disable debugging' do
|
26
|
+
Rack::OAuth2.debug!
|
27
|
+
OpenIDConnect.debug!
|
28
|
+
OpenIDConnect.debug do
|
29
|
+
Rack::OAuth2.debugging?.should be_true
|
30
|
+
OpenIDConnect.debugging?.should be_true
|
31
|
+
end
|
32
|
+
Rack::OAuth2.debugging?.should be_true
|
33
|
+
OpenIDConnect.debugging?.should be_true
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
metadata
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openid_connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 55
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 20
|
10
|
+
version: 0.0.20
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
13
|
- nov matake
|
@@ -20,6 +25,11 @@ dependencies:
|
|
20
25
|
requirements:
|
21
26
|
- - ">="
|
22
27
|
- !ruby/object:Gem::Version
|
28
|
+
hash: 1
|
29
|
+
segments:
|
30
|
+
- 1
|
31
|
+
- 4
|
32
|
+
- 3
|
23
33
|
version: 1.4.3
|
24
34
|
type: :runtime
|
25
35
|
version_requirements: *id001
|
@@ -31,6 +41,9 @@ dependencies:
|
|
31
41
|
requirements:
|
32
42
|
- - ">="
|
33
43
|
- !ruby/object:Gem::Version
|
44
|
+
hash: 3
|
45
|
+
segments:
|
46
|
+
- 0
|
34
47
|
version: "0"
|
35
48
|
type: :runtime
|
36
49
|
version_requirements: *id002
|
@@ -42,6 +55,11 @@ dependencies:
|
|
42
55
|
requirements:
|
43
56
|
- - ">="
|
44
57
|
- !ruby/object:Gem::Version
|
58
|
+
hash: 25
|
59
|
+
segments:
|
60
|
+
- 0
|
61
|
+
- 0
|
62
|
+
- 3
|
45
63
|
version: 0.0.3
|
46
64
|
type: :runtime
|
47
65
|
version_requirements: *id003
|
@@ -53,6 +71,9 @@ dependencies:
|
|
53
71
|
requirements:
|
54
72
|
- - ">="
|
55
73
|
- !ruby/object:Gem::Version
|
74
|
+
hash: 5
|
75
|
+
segments:
|
76
|
+
- 3
|
56
77
|
version: "3"
|
57
78
|
type: :runtime
|
58
79
|
version_requirements: *id004
|
@@ -64,6 +85,9 @@ dependencies:
|
|
64
85
|
requirements:
|
65
86
|
- - ">="
|
66
87
|
- !ruby/object:Gem::Version
|
88
|
+
hash: 3
|
89
|
+
segments:
|
90
|
+
- 0
|
67
91
|
version: "0"
|
68
92
|
type: :runtime
|
69
93
|
version_requirements: *id005
|
@@ -75,6 +99,9 @@ dependencies:
|
|
75
99
|
requirements:
|
76
100
|
- - ">="
|
77
101
|
- !ruby/object:Gem::Version
|
102
|
+
hash: 3
|
103
|
+
segments:
|
104
|
+
- 0
|
78
105
|
version: "0"
|
79
106
|
type: :runtime
|
80
107
|
version_requirements: *id006
|
@@ -86,6 +113,11 @@ dependencies:
|
|
86
113
|
requirements:
|
87
114
|
- - ">="
|
88
115
|
- !ruby/object:Gem::Version
|
116
|
+
hash: 29
|
117
|
+
segments:
|
118
|
+
- 0
|
119
|
+
- 1
|
120
|
+
- 3
|
89
121
|
version: 0.1.3
|
90
122
|
type: :runtime
|
91
123
|
version_requirements: *id007
|
@@ -97,6 +129,11 @@ dependencies:
|
|
97
129
|
requirements:
|
98
130
|
- - ">="
|
99
131
|
- !ruby/object:Gem::Version
|
132
|
+
hash: 23
|
133
|
+
segments:
|
134
|
+
- 0
|
135
|
+
- 0
|
136
|
+
- 4
|
100
137
|
version: 0.0.4
|
101
138
|
type: :runtime
|
102
139
|
version_requirements: *id008
|
@@ -108,7 +145,12 @@ dependencies:
|
|
108
145
|
requirements:
|
109
146
|
- - ">="
|
110
147
|
- !ruby/object:Gem::Version
|
111
|
-
|
148
|
+
hash: 51
|
149
|
+
segments:
|
150
|
+
- 0
|
151
|
+
- 9
|
152
|
+
- 4
|
153
|
+
version: 0.9.4
|
112
154
|
type: :runtime
|
113
155
|
version_requirements: *id009
|
114
156
|
- !ruby/object:Gem::Dependency
|
@@ -119,6 +161,10 @@ dependencies:
|
|
119
161
|
requirements:
|
120
162
|
- - ">="
|
121
163
|
- !ruby/object:Gem::Version
|
164
|
+
hash: 27
|
165
|
+
segments:
|
166
|
+
- 0
|
167
|
+
- 8
|
122
168
|
version: "0.8"
|
123
169
|
type: :development
|
124
170
|
version_requirements: *id010
|
@@ -130,6 +176,10 @@ dependencies:
|
|
130
176
|
requirements:
|
131
177
|
- - ">="
|
132
178
|
- !ruby/object:Gem::Version
|
179
|
+
hash: 25
|
180
|
+
segments:
|
181
|
+
- 0
|
182
|
+
- 9
|
133
183
|
version: "0.9"
|
134
184
|
type: :development
|
135
185
|
version_requirements: *id011
|
@@ -141,6 +191,9 @@ dependencies:
|
|
141
191
|
requirements:
|
142
192
|
- - ">="
|
143
193
|
- !ruby/object:Gem::Version
|
194
|
+
hash: 7
|
195
|
+
segments:
|
196
|
+
- 2
|
144
197
|
version: "2"
|
145
198
|
type: :development
|
146
199
|
version_requirements: *id012
|
@@ -152,6 +205,11 @@ dependencies:
|
|
152
205
|
requirements:
|
153
206
|
- - ">="
|
154
207
|
- !ruby/object:Gem::Version
|
208
|
+
hash: 11
|
209
|
+
segments:
|
210
|
+
- 1
|
211
|
+
- 6
|
212
|
+
- 2
|
155
213
|
version: 1.6.2
|
156
214
|
type: :development
|
157
215
|
version_requirements: *id013
|
@@ -177,6 +235,8 @@ files:
|
|
177
235
|
- lib/openid_connect.rb
|
178
236
|
- lib/openid_connect/access_token.rb
|
179
237
|
- lib/openid_connect/client.rb
|
238
|
+
- lib/openid_connect/debugger.rb
|
239
|
+
- lib/openid_connect/debugger/request_filter.rb
|
180
240
|
- lib/openid_connect/discovery.rb
|
181
241
|
- lib/openid_connect/discovery/principal.rb
|
182
242
|
- lib/openid_connect/discovery/principal/email.rb
|
@@ -213,6 +273,7 @@ files:
|
|
213
273
|
- spec/mock_response/user_info/openid.json
|
214
274
|
- spec/openid_connect/access_token_spec.rb
|
215
275
|
- spec/openid_connect/client_spec.rb
|
276
|
+
- spec/openid_connect/debugger/request_filter_spec.rb
|
216
277
|
- spec/openid_connect/discovery/principal/email_spec.rb
|
217
278
|
- spec/openid_connect/discovery/principal/uri_spec.rb
|
218
279
|
- spec/openid_connect/discovery/principal/xri_spec.rb
|
@@ -224,6 +285,7 @@ files:
|
|
224
285
|
- spec/openid_connect/response_object/user_info/open_id_spec.rb
|
225
286
|
- spec/openid_connect/response_object_spec.rb
|
226
287
|
- spec/openid_connect/server/id_token_spec.rb
|
288
|
+
- spec/openid_connect_spec.rb
|
227
289
|
- spec/rack/oauth2/server/authorize/code_and_token_spec.rb
|
228
290
|
- spec/rack/oauth2/server/authorize/extension/code_and_id_token_spec.rb
|
229
291
|
- spec/rack/oauth2/server/authorize/extension/id_token_and_token_spec.rb
|
@@ -245,17 +307,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
245
307
|
requirements:
|
246
308
|
- - ">="
|
247
309
|
- !ruby/object:Gem::Version
|
310
|
+
hash: 3
|
311
|
+
segments:
|
312
|
+
- 0
|
248
313
|
version: "0"
|
249
314
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
250
315
|
none: false
|
251
316
|
requirements:
|
252
317
|
- - ">="
|
253
318
|
- !ruby/object:Gem::Version
|
319
|
+
hash: 3
|
320
|
+
segments:
|
321
|
+
- 0
|
254
322
|
version: "0"
|
255
323
|
requirements: []
|
256
324
|
|
257
325
|
rubyforge_project:
|
258
|
-
rubygems_version: 1.8.
|
326
|
+
rubygems_version: 1.8.5
|
259
327
|
signing_key:
|
260
328
|
specification_version: 3
|
261
329
|
summary: OpenID Connect Server & Client Library
|
@@ -273,6 +341,7 @@ test_files:
|
|
273
341
|
- spec/mock_response/user_info/openid.json
|
274
342
|
- spec/openid_connect/access_token_spec.rb
|
275
343
|
- spec/openid_connect/client_spec.rb
|
344
|
+
- spec/openid_connect/debugger/request_filter_spec.rb
|
276
345
|
- spec/openid_connect/discovery/principal/email_spec.rb
|
277
346
|
- spec/openid_connect/discovery/principal/uri_spec.rb
|
278
347
|
- spec/openid_connect/discovery/principal/xri_spec.rb
|
@@ -284,6 +353,7 @@ test_files:
|
|
284
353
|
- spec/openid_connect/response_object/user_info/open_id_spec.rb
|
285
354
|
- spec/openid_connect/response_object_spec.rb
|
286
355
|
- spec/openid_connect/server/id_token_spec.rb
|
356
|
+
- spec/openid_connect_spec.rb
|
287
357
|
- spec/rack/oauth2/server/authorize/code_and_token_spec.rb
|
288
358
|
- spec/rack/oauth2/server/authorize/extension/code_and_id_token_spec.rb
|
289
359
|
- spec/rack/oauth2/server/authorize/extension/id_token_and_token_spec.rb
|