omniauth_openid_connect 0.3.0 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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