omniauth_openid_connect 0.3.0 → 0.3.5

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.
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'omniauth/openid_connect'
@@ -1,5 +1,6 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'omniauth/openid_connect/version'
5
6
 
@@ -10,25 +11,25 @@ Gem::Specification.new do |spec|
10
11
  spec.email = ['jjbohn@gmail.com', 'm0n9oose@gmail.com']
11
12
  spec.summary = 'OpenID Connect Strategy for OmniAuth'
12
13
  spec.description = 'OpenID Connect Strategy for OmniAuth.'
13
- spec.homepage = 'https://github.com/jjbohn/omniauth-openid-connect'
14
+ spec.homepage = 'https://github.com/m0n9oose/omniauth_openid_connect'
14
15
  spec.license = 'MIT'
15
16
 
16
17
  spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(%r(^bin/)) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r(^(test|spec|features)/))
18
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
20
  spec.require_paths = ['lib']
20
21
 
21
- spec.add_dependency 'omniauth', '~> 1.3'
22
- spec.add_dependency 'openid_connect', '~> 1.1'
23
22
  spec.add_dependency 'addressable', '~> 2.5'
24
- spec.add_development_dependency 'minitest', '~> 5.1'
25
- spec.add_development_dependency 'mocha', '~> 1.7'
23
+ spec.add_dependency 'omniauth', '~> 1.9'
24
+ spec.add_dependency 'openid_connect', '~> 1.1'
25
+ spec.add_development_dependency 'coveralls', '~> 0.8'
26
+ spec.add_development_dependency 'faker', '~> 1.6'
26
27
  spec.add_development_dependency 'guard', '~> 2.14'
28
+ spec.add_development_dependency 'guard-bundler', '~> 2.2'
27
29
  spec.add_development_dependency 'guard-minitest', '~> 2.4'
28
- spec.add_development_dependency 'guard-bundler', '~> 2.1'
30
+ spec.add_development_dependency 'minitest', '~> 5.1'
31
+ spec.add_development_dependency 'mocha', '~> 1.7'
29
32
  spec.add_development_dependency 'rake', '~> 12.0'
33
+ spec.add_development_dependency 'rubocop', '~> 0.63'
30
34
  spec.add_development_dependency 'simplecov', '~> 0.12'
31
- spec.add_development_dependency 'pry', '~> 0.9'
32
- spec.add_development_dependency 'coveralls', '~> 0.8'
33
- spec.add_development_dependency 'faker', '~> 1.6'
34
35
  end
@@ -35,7 +35,7 @@ module OmniAuth
35
35
  config.stubs(:end_session_endpoint).returns('https://example.com/logout')
36
36
  ::OpenIDConnect::Discovery::Provider::Config.stubs(:discover!).with('https://example.com/').returns(config)
37
37
 
38
- request.stubs(:path_info).returns('/auth/openidconnect/logout')
38
+ request.stubs(:path_info).returns('/auth/openid_connect/logout')
39
39
 
40
40
  strategy.expects(:redirect).with(regexp_matches(expected_redirect))
41
41
  strategy.other_phase
@@ -59,7 +59,7 @@ module OmniAuth
59
59
  config.stubs(:end_session_endpoint).returns('https://example.com/logout')
60
60
  ::OpenIDConnect::Discovery::Provider::Config.stubs(:discover!).with('https://example.com/').returns(config)
61
61
 
62
- request.stubs(:path_info).returns('/auth/openidconnect/logout')
62
+ request.stubs(:path_info).returns('/auth/openid_connect/logout')
63
63
 
64
64
  strategy.expects(:redirect).with(expected_redirect)
65
65
  strategy.other_phase
@@ -69,7 +69,7 @@ module OmniAuth
69
69
  strategy.options.issuer = 'example.com'
70
70
  strategy.options.client_options.host = 'example.com'
71
71
 
72
- request.stubs(:path_info).returns('/auth/openidconnect/logout')
72
+ request.stubs(:path_info).returns('/auth/openid_connect/logout')
73
73
 
74
74
  strategy.expects(:call_app!)
75
75
  strategy.other_phase
@@ -112,6 +112,44 @@ module OmniAuth
112
112
  assert_nil strategy.options.client_options.end_session_endpoint
113
113
  end
114
114
 
115
+ def test_request_phase_with_response_mode
116
+ expected_redirect = /^https:\/\/example\.com\/authorize\?client_id=1234&nonce=\w{32}&response_mode=form_post&response_type=id_token&scope=openid&state=\w{32}$/
117
+ strategy.options.issuer = 'example.com'
118
+ strategy.options.response_mode = 'form_post'
119
+ strategy.options.response_type = 'id_token'
120
+ strategy.options.client_options.host = 'example.com'
121
+
122
+ strategy.expects(:redirect).with(regexp_matches(expected_redirect))
123
+ strategy.request_phase
124
+ end
125
+
126
+ def test_request_phase_with_response_mode_symbol
127
+ expected_redirect = /^https:\/\/example\.com\/authorize\?client_id=1234&nonce=\w{32}&response_mode=form_post&response_type=id_token&scope=openid&state=\w{32}$/
128
+ strategy.options.issuer = 'example.com'
129
+ strategy.options.response_mode = 'form_post'
130
+ strategy.options.response_type = :id_token
131
+ strategy.options.client_options.host = 'example.com'
132
+
133
+ strategy.expects(:redirect).with(regexp_matches(expected_redirect))
134
+ strategy.request_phase
135
+ end
136
+
137
+ def test_option_acr_values
138
+ strategy.options.client_options[:host] = 'foobar.com'
139
+
140
+ assert(!(strategy.authorize_uri =~ /acr_values=/), 'URI must not contain acr_values')
141
+
142
+ strategy.options.acr_values = 'urn:some:acr:values:value'
143
+ assert(strategy.authorize_uri =~ /acr_values=/, 'URI must contain acr_values')
144
+ end
145
+
146
+ def test_option_custom_attributes
147
+ strategy.options.client_options[:host] = 'foobar.com'
148
+ strategy.options.extra_authorize_params = {resource: 'xyz'}
149
+
150
+ assert(strategy.authorize_uri =~ /resource=xyz/, 'URI must contain custom params')
151
+ end
152
+
115
153
  def test_uid
116
154
  assert_equal user_info.sub, strategy.uid
117
155
 
@@ -132,10 +170,39 @@ module OmniAuth
132
170
  strategy.options.issuer = 'example.com'
133
171
  strategy.options.client_signing_alg = :RS256
134
172
  strategy.options.client_jwk_signing_key = File.read('test/fixtures/jwks.json')
173
+ strategy.options.response_type = 'code'
174
+
175
+ strategy.unstub(:user_info)
176
+ access_token = stub('OpenIDConnect::AccessToken')
177
+ access_token.stubs(:access_token)
178
+ access_token.stubs(:refresh_token)
179
+ access_token.stubs(:expires_in)
180
+ access_token.stubs(:scope)
181
+ access_token.stubs(:id_token).returns(File.read('test/fixtures/id_token.txt'))
182
+ client.expects(:access_token!).at_least_once.returns(access_token)
183
+ access_token.expects(:userinfo!).returns(user_info)
135
184
 
136
185
  id_token = stub('OpenIDConnect::ResponseObject::IdToken')
186
+ id_token.stubs(:raw_attributes).returns('sub' => 'sub', 'name' => 'name', 'email' => 'email')
137
187
  id_token.stubs(:verify!).with(issuer: strategy.options.issuer, client_id: @identifier, nonce: nonce).returns(true)
138
- ::OpenIDConnect::ResponseObject::IdToken.stubs(:decode).returns(id_token)
188
+ id_token.expects(:verify!)
189
+
190
+ strategy.expects(:decode_id_token).twice.with(access_token.id_token).returns(id_token)
191
+ strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
192
+ strategy.callback_phase
193
+ end
194
+
195
+ def test_callback_phase_with_id_token
196
+ code = SecureRandom.hex(16)
197
+ state = SecureRandom.hex(16)
198
+ nonce = SecureRandom.hex(16)
199
+ request.stubs(:params).returns('id_token' => code, 'state' => state)
200
+ request.stubs(:path_info).returns('')
201
+
202
+ strategy.options.issuer = 'example.com'
203
+ strategy.options.client_signing_alg = :RS256
204
+ strategy.options.client_jwk_signing_key = File.read('test/fixtures/jwks.json')
205
+ strategy.options.response_type = 'id_token'
139
206
 
140
207
  strategy.unstub(:user_info)
141
208
  access_token = stub('OpenIDConnect::AccessToken')
@@ -144,8 +211,12 @@ module OmniAuth
144
211
  access_token.stubs(:expires_in)
145
212
  access_token.stubs(:scope)
146
213
  access_token.stubs(:id_token).returns(File.read('test/fixtures/id_token.txt'))
147
- client.expects(:access_token!).at_least_once.returns(access_token)
148
- access_token.expects(:userinfo!).returns(user_info)
214
+
215
+ id_token = stub('OpenIDConnect::ResponseObject::IdToken')
216
+ id_token.stubs(:raw_attributes).returns('sub' => 'sub', 'name' => 'name', 'email' => 'email')
217
+ id_token.stubs(:verify!).with(issuer: strategy.options.issuer, client_id: @identifier, nonce: nonce).returns(true)
218
+ ::OpenIDConnect::ResponseObject::IdToken.stubs(:decode).returns(id_token)
219
+ id_token.expects(:verify!)
149
220
 
150
221
  strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
151
222
  strategy.callback_phase
@@ -177,6 +248,7 @@ module OmniAuth
177
248
  ::OpenIDConnect::Discovery::Provider::Config.stubs(:discover!).with('https://example.com/').returns(config)
178
249
 
179
250
  id_token = stub('OpenIDConnect::ResponseObject::IdToken')
251
+ id_token.stubs(:raw_attributes).returns('sub' => 'sub', 'name' => 'name', 'email' => 'email')
180
252
  id_token.stubs(:verify!).with(issuer: 'https://example.com/', client_id: @identifier, nonce: nonce).returns(true)
181
253
  ::OpenIDConnect::ResponseObject::IdToken.stubs(:decode).returns(id_token)
182
254
 
@@ -225,7 +297,33 @@ module OmniAuth
225
297
 
226
298
  strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
227
299
 
228
- strategy.expects(:fail!)
300
+ strategy.expects(:fail!).with(:missing_code, is_a(OmniAuth::OpenIDConnect::MissingCodeError))
301
+ strategy.callback_phase
302
+ end
303
+
304
+ def test_callback_phase_without_id_token
305
+ state = SecureRandom.hex(16)
306
+ nonce = SecureRandom.hex(16)
307
+ request.stubs(:params).returns('state' => state)
308
+ request.stubs(:path_info).returns('')
309
+ strategy.options.response_type = 'id_token'
310
+
311
+ strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
312
+
313
+ strategy.expects(:fail!).with(:missing_id_token, is_a(OmniAuth::OpenIDConnect::MissingIdTokenError))
314
+ strategy.callback_phase
315
+ end
316
+
317
+ def test_callback_phase_without_id_token_symbol
318
+ state = SecureRandom.hex(16)
319
+ nonce = SecureRandom.hex(16)
320
+ request.stubs(:params).returns('state' => state)
321
+ request.stubs(:path_info).returns('')
322
+ strategy.options.response_type = :id_token
323
+
324
+ strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
325
+
326
+ strategy.expects(:fail!).with(:missing_id_token, is_a(OmniAuth::OpenIDConnect::MissingIdTokenError))
229
327
  strategy.callback_phase
230
328
  end
231
329
 
@@ -241,6 +339,11 @@ module OmniAuth
241
339
  strategy.stubs(:access_token).raises(::Timeout::Error.new('error'))
242
340
  strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
243
341
  strategy.expects(:fail!)
342
+
343
+ id_token = stub('OpenIDConnect::ResponseObject::IdToken')
344
+ id_token.stubs(:verify!).with(issuer: 'example.com', client_id: @identifier, nonce: nonce).returns(true)
345
+ ::OpenIDConnect::ResponseObject::IdToken.stubs(:decode).returns(id_token)
346
+
244
347
  strategy.callback_phase
245
348
  end
246
349
 
@@ -256,6 +359,11 @@ module OmniAuth
256
359
  strategy.stubs(:access_token).raises(::Errno::ETIMEDOUT.new('error'))
257
360
  strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
258
361
  strategy.expects(:fail!)
362
+
363
+ id_token = stub('OpenIDConnect::ResponseObject::IdToken')
364
+ id_token.stubs(:verify!).with(issuer: 'example.com', client_id: @identifier, nonce: nonce).returns(true)
365
+ ::OpenIDConnect::ResponseObject::IdToken.stubs(:decode).returns(id_token)
366
+
259
367
  strategy.callback_phase
260
368
  end
261
369
 
@@ -271,6 +379,11 @@ module OmniAuth
271
379
  strategy.stubs(:access_token).raises(::SocketError.new('error'))
272
380
  strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
273
381
  strategy.expects(:fail!)
382
+
383
+ id_token = stub('OpenIDConnect::ResponseObject::IdToken')
384
+ id_token.stubs(:verify!).with(issuer: 'example.com', client_id: @identifier, nonce: nonce).returns(true)
385
+ ::OpenIDConnect::ResponseObject::IdToken.stubs(:decode).returns(id_token)
386
+
274
387
  strategy.callback_phase
275
388
  end
276
389
 
@@ -286,6 +399,11 @@ module OmniAuth
286
399
  strategy.stubs(:access_token).raises(::Rack::OAuth2::Client::Error.new('error', error: 'Unknown'))
287
400
  strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
288
401
  strategy.expects(:fail!)
402
+
403
+ id_token = stub('OpenIDConnect::ResponseObject::IdToken')
404
+ id_token.stubs(:verify!).with(issuer: 'example.com', client_id: @identifier, nonce: nonce).returns(true)
405
+ ::OpenIDConnect::ResponseObject::IdToken.stubs(:decode).returns(id_token)
406
+
289
407
  strategy.callback_phase
290
408
  end
291
409
 
@@ -384,7 +502,8 @@ module OmniAuth
384
502
 
385
503
  def test_dynamic_state
386
504
  # Stub request parameters
387
- Strategy.send(:define_method, 'env', -> { { QUERY_STRING: { state: 'abc', client_id: '123' } } })
505
+ request.stubs(:path_info).returns('')
506
+ strategy.call!('rack.session' => { }, QUERY_STRING: { state: 'abc', client_id: '123' } )
388
507
 
389
508
  strategy.options.state = lambda { |env|
390
509
  # Get params from request, e.g. CGI.parse(env['QUERY_STRING'])
@@ -460,6 +579,42 @@ module OmniAuth
460
579
  strategy.options.client_signing_alg = :HS256
461
580
  assert_equal strategy.options.client_options.secret, strategy.public_key
462
581
  end
582
+
583
+ def test_id_token_auth_hash
584
+ state = SecureRandom.hex(16)
585
+ nonce = SecureRandom.hex(16)
586
+ strategy.options.response_type = 'id_token'
587
+ strategy.options.issuer = 'example.com'
588
+
589
+ id_token = stub('OpenIDConnect::ResponseObject::IdToken')
590
+ id_token.stubs(:verify!).returns(true)
591
+ id_token.stubs(:raw_attributes, :to_h).returns(
592
+ {
593
+ "iss": "http://server.example.com",
594
+ "sub": "248289761001",
595
+ "aud": "s6BhdRkqt3",
596
+ "nonce": "n-0S6_WzA2Mj",
597
+ "exp": 1311281970,
598
+ "iat": 1311280970,
599
+ }
600
+ )
601
+
602
+ request.stubs(:params).returns('state' => state, 'nounce' => nonce, 'id_token' => id_token)
603
+ request.stubs(:path_info).returns('')
604
+
605
+ strategy.stubs(:decode_id_token).returns(id_token)
606
+ strategy.stubs(:stored_state).returns(state)
607
+
608
+ strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
609
+ strategy.callback_phase
610
+
611
+ auth_hash = strategy.send(:env)['omniauth.auth']
612
+ assert auth_hash.key?('provider')
613
+ assert auth_hash.key?('uid')
614
+ assert auth_hash.key?('info')
615
+ assert auth_hash.key?('extra')
616
+ assert auth_hash['extra'].key?('raw_info')
617
+ end
463
618
  end
464
619
  end
465
620
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth_openid_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Bohn
@@ -9,78 +9,78 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-04-27 00:00:00.000000000 Z
12
+ date: 2020-06-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: omniauth
15
+ name: addressable
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '1.3'
20
+ version: '2.5'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '1.3'
27
+ version: '2.5'
28
28
  - !ruby/object:Gem::Dependency
29
- name: openid_connect
29
+ name: omniauth
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '1.1'
34
+ version: '1.9'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '1.1'
41
+ version: '1.9'
42
42
  - !ruby/object:Gem::Dependency
43
- name: addressable
43
+ name: openid_connect
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '2.5'
48
+ version: '1.1'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '2.5'
55
+ version: '1.1'
56
56
  - !ruby/object:Gem::Dependency
57
- name: minitest
57
+ name: coveralls
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '5.1'
62
+ version: '0.8'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '5.1'
69
+ version: '0.8'
70
70
  - !ruby/object:Gem::Dependency
71
- name: mocha
71
+ name: faker
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '1.7'
76
+ version: '1.6'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '1.7'
83
+ version: '1.6'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: guard
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -96,103 +96,103 @@ dependencies:
96
96
  - !ruby/object:Gem::Version
97
97
  version: '2.14'
98
98
  - !ruby/object:Gem::Dependency
99
- name: guard-minitest
99
+ name: guard-bundler
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '2.4'
104
+ version: '2.2'
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: '2.4'
111
+ version: '2.2'
112
112
  - !ruby/object:Gem::Dependency
113
- name: guard-bundler
113
+ name: guard-minitest
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: '2.1'
118
+ version: '2.4'
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: '2.1'
125
+ version: '2.4'
126
126
  - !ruby/object:Gem::Dependency
127
- name: rake
127
+ name: minitest
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: '12.0'
132
+ version: '5.1'
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: '12.0'
139
+ version: '5.1'
140
140
  - !ruby/object:Gem::Dependency
141
- name: simplecov
141
+ name: mocha
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - "~>"
145
145
  - !ruby/object:Gem::Version
146
- version: '0.12'
146
+ version: '1.7'
147
147
  type: :development
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
151
  - - "~>"
152
152
  - !ruby/object:Gem::Version
153
- version: '0.12'
153
+ version: '1.7'
154
154
  - !ruby/object:Gem::Dependency
155
- name: pry
155
+ name: rake
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - "~>"
159
159
  - !ruby/object:Gem::Version
160
- version: '0.9'
160
+ version: '12.0'
161
161
  type: :development
162
162
  prerelease: false
163
163
  version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - "~>"
166
166
  - !ruby/object:Gem::Version
167
- version: '0.9'
167
+ version: '12.0'
168
168
  - !ruby/object:Gem::Dependency
169
- name: coveralls
169
+ name: rubocop
170
170
  requirement: !ruby/object:Gem::Requirement
171
171
  requirements:
172
172
  - - "~>"
173
173
  - !ruby/object:Gem::Version
174
- version: '0.8'
174
+ version: '0.63'
175
175
  type: :development
176
176
  prerelease: false
177
177
  version_requirements: !ruby/object:Gem::Requirement
178
178
  requirements:
179
179
  - - "~>"
180
180
  - !ruby/object:Gem::Version
181
- version: '0.8'
181
+ version: '0.63'
182
182
  - !ruby/object:Gem::Dependency
183
- name: faker
183
+ name: simplecov
184
184
  requirement: !ruby/object:Gem::Requirement
185
185
  requirements:
186
186
  - - "~>"
187
187
  - !ruby/object:Gem::Version
188
- version: '1.6'
188
+ version: '0.12'
189
189
  type: :development
190
190
  prerelease: false
191
191
  version_requirements: !ruby/object:Gem::Requirement
192
192
  requirements:
193
193
  - - "~>"
194
194
  - !ruby/object:Gem::Version
195
- version: '1.6'
195
+ version: '0.12'
196
196
  description: OpenID Connect Strategy for OmniAuth.
197
197
  email:
198
198
  - jjbohn@gmail.com
@@ -201,7 +201,11 @@ executables: []
201
201
  extensions: []
202
202
  extra_rdoc_files: []
203
203
  files:
204
+ - ".github/config/rubocop_linter_action.yml"
205
+ - ".github/stale.yml"
206
+ - ".github/workflows/rubocop.yml"
204
207
  - ".gitignore"
208
+ - ".rubocop.yml"
205
209
  - ".travis.yml"
206
210
  - CHANGELOG.md
207
211
  - Gemfile
@@ -221,7 +225,7 @@ files:
221
225
  - test/lib/omniauth/strategies/openid_connect_test.rb
222
226
  - test/strategy_test_case.rb
223
227
  - test/test_helper.rb
224
- homepage: https://github.com/jjbohn/omniauth-openid-connect
228
+ homepage: https://github.com/m0n9oose/omniauth_openid_connect
225
229
  licenses:
226
230
  - MIT
227
231
  metadata: {}
@@ -240,7 +244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
240
244
  - !ruby/object:Gem::Version
241
245
  version: '0'
242
246
  requirements: []
243
- rubygems_version: 3.0.2
247
+ rubygems_version: 3.0.6
244
248
  signing_key:
245
249
  specification_version: 4
246
250
  summary: OpenID Connect Strategy for OmniAuth