omniauth_openid_connect 0.3.5 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/main.yml +31 -0
- data/.rubocop.yml +7 -1
- data/CHANGELOG.md +8 -0
- data/Guardfile +1 -1
- data/README.md +13 -2
- data/lib/omniauth/openid_connect/errors.rb +2 -0
- data/lib/omniauth/openid_connect/version.rb +1 -1
- data/lib/omniauth/strategies/openid_connect.rb +13 -1
- data/omniauth_openid_connect.gemspec +11 -3
- data/test/lib/omniauth/strategies/openid_connect_test.rb +32 -17
- data/test/strategy_test_case.rb +2 -0
- metadata +22 -11
- data/.travis.yml +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b5060fd9a0536e2740b340c56459f76b628912dea1ad54da415c2453921e6e3
|
4
|
+
data.tar.gz: ada9bd68c69837538cd485ce0595525b2109feb0f79611a3ceb06fa1bf7eed96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 24c424fb608e45beba966b6914accdfad6e5af277c9428c94d3aec4ab3f4c010bfa66117a42d6ad1f57de9ea6d6d3ff99eaa5a33bdcbc753d1b7db568f3e870b
|
7
|
+
data.tar.gz: f2ebfcd68b35425cc656ecaa58151b962d0bc96a4023f1bfcf312e363e2e0878c298bc90d7fc70104220b71cdbc77346b3f64c4653222b8df1110a12bb249dd0
|
@@ -0,0 +1,31 @@
|
|
1
|
+
name: Main
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches:
|
5
|
+
- main
|
6
|
+
- master
|
7
|
+
|
8
|
+
pull_request:
|
9
|
+
types: [opened, synchronize, reopened]
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
base:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
strategy:
|
15
|
+
fail-fast: false
|
16
|
+
matrix:
|
17
|
+
ruby: ["2.5", "2.6", "2.7", "3.0"]
|
18
|
+
name: Ruby ${{ matrix.ruby }}
|
19
|
+
|
20
|
+
steps:
|
21
|
+
- name: Checkout code
|
22
|
+
uses: actions/checkout@v2
|
23
|
+
|
24
|
+
- name: Setup Ruby
|
25
|
+
uses: ruby/setup-ruby@v1
|
26
|
+
with:
|
27
|
+
ruby-version: ${{ matrix.ruby }}
|
28
|
+
bundler-cache: true
|
29
|
+
|
30
|
+
- name: Run tests
|
31
|
+
run: bundle exec rake
|
data/.rubocop.yml
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
Gemspec/RequiredRubyVersion:
|
2
|
+
Enabled: false
|
3
|
+
|
1
4
|
LineLength:
|
2
5
|
Description: 'Limit lines to 130 characters.'
|
3
6
|
Max: 130
|
@@ -36,7 +39,10 @@ Documentation:
|
|
36
39
|
Enabled: false
|
37
40
|
|
38
41
|
Metrics/AbcSize:
|
39
|
-
Max:
|
42
|
+
Max: 60
|
43
|
+
|
44
|
+
Metrics/ClassLength:
|
45
|
+
Max: 300
|
40
46
|
|
41
47
|
Metrics/CyclomaticComplexity:
|
42
48
|
Max: 50
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
# v0.4.0 (02.05.2021)
|
2
|
+
|
3
|
+
- Support dynamic parameters to the authorize URI [#90](https://github.com/omniauth/omniauth_openid_connect/pull/90)
|
4
|
+
- Upgrade Faker and replace Travis with Github Actions [#102](https://github.com/omniauth/omniauth_openid_connect/pull/102)
|
5
|
+
- Make `omniauth_openid_connect` gem compatible with `omniauth v2.0` [#95](https://github.com/omniauth/omniauth_openid_connect/pull/95)
|
6
|
+
- Fall back to the discovered jwks when no key specified [#97](https://github.com/omniauth/omniauth_openid_connect/pull/97)
|
7
|
+
- Allow updating to omniauth v2 [#88](https://github.com/omniauth/omniauth_openid_connect/pull/88)
|
8
|
+
|
1
9
|
# v0.3.5 (07.06.2020)
|
2
10
|
|
3
11
|
- bugfix: Info from decoded id_token is not exposed into `request.env['omniauth.auth']` [#61](https://github.com/m0n9oose/omniauth_openid_connect/pull/61)
|
data/Guardfile
CHANGED
data/README.md
CHANGED
@@ -1,10 +1,19 @@
|
|
1
|
+
# Maintainers Wanted
|
2
|
+
|
3
|
+
This project is looking for maintainers.
|
4
|
+
|
5
|
+
Due to lack of using this gem in my projects I have no time to keep it alive.
|
6
|
+
Feel free to open an issue if you interested.
|
7
|
+
|
8
|
+
_This project is built and maintained 100% voluntarily._
|
9
|
+
|
1
10
|
# OmniAuth::OpenIDConnect
|
2
11
|
|
3
12
|
Originally was [omniauth-openid-connect](https://github.com/jjbohn/omniauth-openid-connect)
|
4
13
|
|
5
14
|
I've forked this repository and launch as separate gem because maintaining of original was dropped.
|
6
15
|
|
7
|
-
[![Build Status](https://
|
16
|
+
[![Build Status](https://github.com/omniauth/omniauth_openid_connect/actions/workflows/main.yml/badge.svg)](https://github.com/omniauth/omniauth_openid_connect/actions/workflows/main.yml)
|
8
17
|
|
9
18
|
## Installation
|
10
19
|
|
@@ -19,7 +28,7 @@ And then execute:
|
|
19
28
|
Or install it yourself as:
|
20
29
|
|
21
30
|
$ gem install omniauth_openid_connect
|
22
|
-
|
31
|
+
|
23
32
|
## Supported Ruby Versions
|
24
33
|
|
25
34
|
OmniAuth::OpenIDConnect is tested under 2.4, 2.5, 2.6, 2.7
|
@@ -61,6 +70,8 @@ config.omniauth :openid_connect, {
|
|
61
70
|
| send_scope_to_token_endpoint | Should the scope parameter be sent to the authorization token endpoint? | no | true | one of: true, false |
|
62
71
|
| post_logout_redirect_uri | The logout redirect uri to use per the [session management draft](https://openid.net/specs/openid-connect-session-1_0.html) | no | empty | https://myapp.com/logout/callback |
|
63
72
|
| uid_field | The field of the user info response to be used as a unique id | no | 'sub' | "sub", "preferred_username" |
|
73
|
+
| extra_authorize_params | A hash of extra fixed parameters that will be merged to the authorization request | no | Hash | {"tenant" => "common"} |
|
74
|
+
| allow_authorize_params | A list of allowed dynamic parameters that will be merged to the authorization request | no | Array | [:screen_name] |
|
64
75
|
| client_options | A hash of client options detailed in its own section | yes | | |
|
65
76
|
|
66
77
|
### Client Config Options
|
@@ -55,6 +55,7 @@ module OmniAuth
|
|
55
55
|
option :client_auth_method
|
56
56
|
option :post_logout_redirect_uri
|
57
57
|
option :extra_authorize_params, {}
|
58
|
+
option :allow_authorize_params, []
|
58
59
|
option :uid_field, 'sub'
|
59
60
|
|
60
61
|
def uid
|
@@ -173,13 +174,17 @@ module OmniAuth
|
|
173
174
|
|
174
175
|
opts.merge!(options.extra_authorize_params) unless options.extra_authorize_params.empty?
|
175
176
|
|
177
|
+
options.allow_authorize_params.each do |key|
|
178
|
+
opts[key] = request.params[key.to_s] unless opts.key?(key)
|
179
|
+
end
|
180
|
+
|
176
181
|
client.authorization_uri(opts.reject { |_k, v| v.nil? })
|
177
182
|
end
|
178
183
|
|
179
184
|
def public_key
|
180
185
|
return config.jwks if options.discovery
|
181
186
|
|
182
|
-
key_or_secret
|
187
|
+
key_or_secret || config.jwks
|
183
188
|
end
|
184
189
|
|
185
190
|
private
|
@@ -256,6 +261,12 @@ module OmniAuth
|
|
256
261
|
session.delete('omniauth.nonce')
|
257
262
|
end
|
258
263
|
|
264
|
+
def script_name
|
265
|
+
return '' if @env.nil?
|
266
|
+
|
267
|
+
super
|
268
|
+
end
|
269
|
+
|
259
270
|
def session
|
260
271
|
return {} if @env.nil?
|
261
272
|
|
@@ -349,6 +360,7 @@ module OmniAuth
|
|
349
360
|
attr_accessor :error, :error_reason, :error_uri
|
350
361
|
|
351
362
|
def initialize(data)
|
363
|
+
super
|
352
364
|
self.error = data[:error]
|
353
365
|
self.error_reason = data[:reason]
|
354
366
|
self.error_uri = data[:uri]
|
@@ -19,17 +19,25 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
+
spec.metadata = {
|
23
|
+
'bug_tracker_uri' => 'https://github.com/m0n9oose/omniauth_openid_connect/issues',
|
24
|
+
'changelog_uri' => 'https://github.com/m0n9oose/omniauth_openid_connect/releases',
|
25
|
+
'documentation_uri' => "https://github.com/m0n9oose/omniauth_openid_connect/tree/v#{spec.version}#readme",
|
26
|
+
'source_code_uri' => "https://github.com/m0n9oose/omniauth_openid_connect/tree/v#{spec.version}",
|
27
|
+
'rubygems_mfa_required' => 'true',
|
28
|
+
}
|
29
|
+
|
22
30
|
spec.add_dependency 'addressable', '~> 2.5'
|
23
|
-
spec.add_dependency 'omniauth', '
|
31
|
+
spec.add_dependency 'omniauth', '>= 1.9', '< 3'
|
24
32
|
spec.add_dependency 'openid_connect', '~> 1.1'
|
25
33
|
spec.add_development_dependency 'coveralls', '~> 0.8'
|
26
|
-
spec.add_development_dependency 'faker', '~>
|
34
|
+
spec.add_development_dependency 'faker', '~> 2.0'
|
27
35
|
spec.add_development_dependency 'guard', '~> 2.14'
|
28
36
|
spec.add_development_dependency 'guard-bundler', '~> 2.2'
|
29
37
|
spec.add_development_dependency 'guard-minitest', '~> 2.4'
|
30
38
|
spec.add_development_dependency 'minitest', '~> 5.1'
|
31
39
|
spec.add_development_dependency 'mocha', '~> 1.7'
|
32
40
|
spec.add_development_dependency 'rake', '~> 12.0'
|
33
|
-
spec.add_development_dependency 'rubocop', '~>
|
41
|
+
spec.add_development_dependency 'rubocop', '~> 1.12'
|
34
42
|
spec.add_development_dependency 'simplecov', '~> 0.12'
|
35
43
|
end
|
@@ -36,6 +36,7 @@ module OmniAuth
|
|
36
36
|
::OpenIDConnect::Discovery::Provider::Config.stubs(:discover!).with('https://example.com/').returns(config)
|
37
37
|
|
38
38
|
request.stubs(:path_info).returns('/auth/openid_connect/logout')
|
39
|
+
request.stubs(:path).returns('/auth/openid_connect/logout')
|
39
40
|
|
40
41
|
strategy.expects(:redirect).with(regexp_matches(expected_redirect))
|
41
42
|
strategy.other_phase
|
@@ -60,6 +61,7 @@ module OmniAuth
|
|
60
61
|
::OpenIDConnect::Discovery::Provider::Config.stubs(:discover!).with('https://example.com/').returns(config)
|
61
62
|
|
62
63
|
request.stubs(:path_info).returns('/auth/openid_connect/logout')
|
64
|
+
request.stubs(:path).returns('/auth/openid_connect/logout')
|
63
65
|
|
64
66
|
strategy.expects(:redirect).with(expected_redirect)
|
65
67
|
strategy.other_phase
|
@@ -69,7 +71,7 @@ module OmniAuth
|
|
69
71
|
strategy.options.issuer = 'example.com'
|
70
72
|
strategy.options.client_options.host = 'example.com'
|
71
73
|
|
72
|
-
request.stubs(:
|
74
|
+
request.stubs(:path).returns('/auth/openid_connect/logout')
|
73
75
|
|
74
76
|
strategy.expects(:call_app!)
|
75
77
|
strategy.other_phase
|
@@ -150,6 +152,19 @@ module OmniAuth
|
|
150
152
|
assert(strategy.authorize_uri =~ /resource=xyz/, 'URI must contain custom params')
|
151
153
|
end
|
152
154
|
|
155
|
+
def test_request_phase_with_allowed_params
|
156
|
+
strategy.options.issuer = 'example.com'
|
157
|
+
strategy.options.allow_authorize_params = [:name, :logo, :resource]
|
158
|
+
strategy.options.extra_authorize_params = {resource: 'xyz'}
|
159
|
+
strategy.options.client_options.host = 'example.com'
|
160
|
+
request.stubs(:params).returns('name' => 'example', 'logo' => 'example_logo', 'resource' => 'abc', 'not_allowed' => 'filter_me')
|
161
|
+
|
162
|
+
assert(strategy.authorize_uri =~ /resource=xyz/, 'URI must contain fixed param resource')
|
163
|
+
assert(strategy.authorize_uri =~ /name=example/, 'URI must contain dynamic param name')
|
164
|
+
assert(strategy.authorize_uri =~ /logo=example_logo/, 'URI must contain dynamic param logo')
|
165
|
+
refute(strategy.authorize_uri =~ /not_allowed=filter_me/, 'URI must filter not allowed param')
|
166
|
+
end
|
167
|
+
|
153
168
|
def test_uid
|
154
169
|
assert_equal user_info.sub, strategy.uid
|
155
170
|
|
@@ -165,7 +180,7 @@ module OmniAuth
|
|
165
180
|
state = SecureRandom.hex(16)
|
166
181
|
nonce = SecureRandom.hex(16)
|
167
182
|
request.stubs(:params).returns('code' => code, 'state' => state)
|
168
|
-
request.stubs(:
|
183
|
+
request.stubs(:path).returns('')
|
169
184
|
|
170
185
|
strategy.options.issuer = 'example.com'
|
171
186
|
strategy.options.client_signing_alg = :RS256
|
@@ -197,7 +212,7 @@ module OmniAuth
|
|
197
212
|
state = SecureRandom.hex(16)
|
198
213
|
nonce = SecureRandom.hex(16)
|
199
214
|
request.stubs(:params).returns('id_token' => code, 'state' => state)
|
200
|
-
request.stubs(:
|
215
|
+
request.stubs(:path).returns('')
|
201
216
|
|
202
217
|
strategy.options.issuer = 'example.com'
|
203
218
|
strategy.options.client_signing_alg = :RS256
|
@@ -229,7 +244,7 @@ module OmniAuth
|
|
229
244
|
jwks = JSON::JWK::Set.new(JSON.parse(File.read('test/fixtures/jwks.json'))['keys'])
|
230
245
|
|
231
246
|
request.stubs(:params).returns('code' => code, 'state' => state)
|
232
|
-
request.stubs(:
|
247
|
+
request.stubs(:path).returns('')
|
233
248
|
|
234
249
|
strategy.options.client_options.host = 'example.com'
|
235
250
|
strategy.options.discovery = true
|
@@ -270,7 +285,7 @@ module OmniAuth
|
|
270
285
|
state = SecureRandom.hex(16)
|
271
286
|
nonce = SecureRandom.hex(16)
|
272
287
|
request.stubs(:params).returns('error' => 'invalid_request')
|
273
|
-
request.stubs(:
|
288
|
+
request.stubs(:path).returns('')
|
274
289
|
|
275
290
|
strategy.call!({'rack.session' => {'omniauth.state' => state, 'omniauth.nonce' => nonce}})
|
276
291
|
strategy.expects(:fail!)
|
@@ -282,7 +297,7 @@ module OmniAuth
|
|
282
297
|
state = SecureRandom.hex(16)
|
283
298
|
nonce = SecureRandom.hex(16)
|
284
299
|
request.stubs(:params).returns('code' => code, 'state' => 'foobar')
|
285
|
-
request.stubs(:
|
300
|
+
request.stubs(:path).returns('')
|
286
301
|
|
287
302
|
strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
|
288
303
|
strategy.expects(:fail!)
|
@@ -293,7 +308,7 @@ module OmniAuth
|
|
293
308
|
state = SecureRandom.hex(16)
|
294
309
|
nonce = SecureRandom.hex(16)
|
295
310
|
request.stubs(:params).returns('state' => state)
|
296
|
-
request.stubs(:
|
311
|
+
request.stubs(:path).returns('')
|
297
312
|
|
298
313
|
strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
|
299
314
|
|
@@ -305,7 +320,7 @@ module OmniAuth
|
|
305
320
|
state = SecureRandom.hex(16)
|
306
321
|
nonce = SecureRandom.hex(16)
|
307
322
|
request.stubs(:params).returns('state' => state)
|
308
|
-
request.stubs(:
|
323
|
+
request.stubs(:path).returns('')
|
309
324
|
strategy.options.response_type = 'id_token'
|
310
325
|
|
311
326
|
strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
|
@@ -318,7 +333,7 @@ module OmniAuth
|
|
318
333
|
state = SecureRandom.hex(16)
|
319
334
|
nonce = SecureRandom.hex(16)
|
320
335
|
request.stubs(:params).returns('state' => state)
|
321
|
-
request.stubs(:
|
336
|
+
request.stubs(:path).returns('')
|
322
337
|
strategy.options.response_type = :id_token
|
323
338
|
|
324
339
|
strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
|
@@ -332,7 +347,7 @@ module OmniAuth
|
|
332
347
|
state = SecureRandom.hex(16)
|
333
348
|
nonce = SecureRandom.hex(16)
|
334
349
|
request.stubs(:params).returns('code' => code, 'state' => state)
|
335
|
-
request.stubs(:
|
350
|
+
request.stubs(:path).returns('')
|
336
351
|
|
337
352
|
strategy.options.issuer = 'example.com'
|
338
353
|
|
@@ -352,7 +367,7 @@ module OmniAuth
|
|
352
367
|
state = SecureRandom.hex(16)
|
353
368
|
nonce = SecureRandom.hex(16)
|
354
369
|
request.stubs(:params).returns('code' => code, 'state' => state)
|
355
|
-
request.stubs(:
|
370
|
+
request.stubs(:path).returns('')
|
356
371
|
|
357
372
|
strategy.options.issuer = 'example.com'
|
358
373
|
|
@@ -372,7 +387,7 @@ module OmniAuth
|
|
372
387
|
state = SecureRandom.hex(16)
|
373
388
|
nonce = SecureRandom.hex(16)
|
374
389
|
request.stubs(:params).returns('code' => code, 'state' => state)
|
375
|
-
request.stubs(:
|
390
|
+
request.stubs(:path).returns('')
|
376
391
|
|
377
392
|
strategy.options.issuer = 'example.com'
|
378
393
|
|
@@ -392,7 +407,7 @@ module OmniAuth
|
|
392
407
|
state = SecureRandom.hex(16)
|
393
408
|
nonce = SecureRandom.hex(16)
|
394
409
|
request.stubs(:params).returns('code' => code, 'state' => state)
|
395
|
-
request.stubs(:
|
410
|
+
request.stubs(:path).returns('')
|
396
411
|
|
397
412
|
strategy.options.issuer = 'example.com'
|
398
413
|
|
@@ -493,7 +508,7 @@ module OmniAuth
|
|
493
508
|
# the following should fail because the wrong state is passed to the callback
|
494
509
|
code = SecureRandom.hex(16)
|
495
510
|
request.stubs(:params).returns('code' => code, 'state' => 43)
|
496
|
-
request.stubs(:
|
511
|
+
request.stubs(:path).returns('')
|
497
512
|
|
498
513
|
strategy.call!('rack.session' => session)
|
499
514
|
strategy.expects(:fail!)
|
@@ -502,7 +517,7 @@ module OmniAuth
|
|
502
517
|
|
503
518
|
def test_dynamic_state
|
504
519
|
# Stub request parameters
|
505
|
-
request.stubs(:
|
520
|
+
request.stubs(:path).returns('')
|
506
521
|
strategy.call!('rack.session' => { }, QUERY_STRING: { state: 'abc', client_id: '123' } )
|
507
522
|
|
508
523
|
strategy.options.state = lambda { |env|
|
@@ -535,7 +550,7 @@ module OmniAuth
|
|
535
550
|
}.to_json
|
536
551
|
success = Struct.new(:status, :body).new(200, json_response)
|
537
552
|
|
538
|
-
request.stubs(:
|
553
|
+
request.stubs(:path).returns('')
|
539
554
|
strategy.call!('rack.session' => { 'omniauth.state' => state, 'omniauth.nonce' => nonce })
|
540
555
|
|
541
556
|
id_token = stub('OpenIDConnect::ResponseObject::IdToken')
|
@@ -600,7 +615,7 @@ module OmniAuth
|
|
600
615
|
)
|
601
616
|
|
602
617
|
request.stubs(:params).returns('state' => state, 'nounce' => nonce, 'id_token' => id_token)
|
603
|
-
request.stubs(:
|
618
|
+
request.stubs(:path).returns('')
|
604
619
|
|
605
620
|
strategy.stubs(:decode_id_token).returns(id_token)
|
606
621
|
strategy.stubs(:stored_state).returns(state)
|
data/test/strategy_test_case.rb
CHANGED
@@ -37,6 +37,7 @@ class StrategyTestCase < MiniTest::Test
|
|
37
37
|
request.stubs(:env).returns({})
|
38
38
|
request.stubs(:scheme).returns({})
|
39
39
|
request.stubs(:ssl?).returns(false)
|
40
|
+
request.stubs(:path).returns('')
|
40
41
|
end
|
41
42
|
end
|
42
43
|
|
@@ -46,6 +47,7 @@ class StrategyTestCase < MiniTest::Test
|
|
46
47
|
strategy.options.client_options.secret = @secret
|
47
48
|
strategy.stubs(:request).returns(request)
|
48
49
|
strategy.stubs(:user_info).returns(user_info)
|
50
|
+
strategy.stubs(:script_name).returns('')
|
49
51
|
end
|
50
52
|
end
|
51
53
|
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.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Bohn
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-02-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: addressable
|
@@ -29,16 +29,22 @@ dependencies:
|
|
29
29
|
name: omniauth
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- - "
|
32
|
+
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '1.9'
|
35
|
+
- - "<"
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '3'
|
35
38
|
type: :runtime
|
36
39
|
prerelease: false
|
37
40
|
version_requirements: !ruby/object:Gem::Requirement
|
38
41
|
requirements:
|
39
|
-
- - "
|
42
|
+
- - ">="
|
40
43
|
- !ruby/object:Gem::Version
|
41
44
|
version: '1.9'
|
45
|
+
- - "<"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3'
|
42
48
|
- !ruby/object:Gem::Dependency
|
43
49
|
name: openid_connect
|
44
50
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,14 +79,14 @@ dependencies:
|
|
73
79
|
requirements:
|
74
80
|
- - "~>"
|
75
81
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
82
|
+
version: '2.0'
|
77
83
|
type: :development
|
78
84
|
prerelease: false
|
79
85
|
version_requirements: !ruby/object:Gem::Requirement
|
80
86
|
requirements:
|
81
87
|
- - "~>"
|
82
88
|
- !ruby/object:Gem::Version
|
83
|
-
version: '
|
89
|
+
version: '2.0'
|
84
90
|
- !ruby/object:Gem::Dependency
|
85
91
|
name: guard
|
86
92
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,14 +177,14 @@ dependencies:
|
|
171
177
|
requirements:
|
172
178
|
- - "~>"
|
173
179
|
- !ruby/object:Gem::Version
|
174
|
-
version: '
|
180
|
+
version: '1.12'
|
175
181
|
type: :development
|
176
182
|
prerelease: false
|
177
183
|
version_requirements: !ruby/object:Gem::Requirement
|
178
184
|
requirements:
|
179
185
|
- - "~>"
|
180
186
|
- !ruby/object:Gem::Version
|
181
|
-
version: '
|
187
|
+
version: '1.12'
|
182
188
|
- !ruby/object:Gem::Dependency
|
183
189
|
name: simplecov
|
184
190
|
requirement: !ruby/object:Gem::Requirement
|
@@ -203,10 +209,10 @@ extra_rdoc_files: []
|
|
203
209
|
files:
|
204
210
|
- ".github/config/rubocop_linter_action.yml"
|
205
211
|
- ".github/stale.yml"
|
212
|
+
- ".github/workflows/main.yml"
|
206
213
|
- ".github/workflows/rubocop.yml"
|
207
214
|
- ".gitignore"
|
208
215
|
- ".rubocop.yml"
|
209
|
-
- ".travis.yml"
|
210
216
|
- CHANGELOG.md
|
211
217
|
- Gemfile
|
212
218
|
- Guardfile
|
@@ -228,7 +234,12 @@ files:
|
|
228
234
|
homepage: https://github.com/m0n9oose/omniauth_openid_connect
|
229
235
|
licenses:
|
230
236
|
- MIT
|
231
|
-
metadata:
|
237
|
+
metadata:
|
238
|
+
bug_tracker_uri: https://github.com/m0n9oose/omniauth_openid_connect/issues
|
239
|
+
changelog_uri: https://github.com/m0n9oose/omniauth_openid_connect/releases
|
240
|
+
documentation_uri: https://github.com/m0n9oose/omniauth_openid_connect/tree/v0.4.0#readme
|
241
|
+
source_code_uri: https://github.com/m0n9oose/omniauth_openid_connect/tree/v0.4.0
|
242
|
+
rubygems_mfa_required: 'true'
|
232
243
|
post_install_message:
|
233
244
|
rdoc_options: []
|
234
245
|
require_paths:
|
@@ -244,7 +255,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
244
255
|
- !ruby/object:Gem::Version
|
245
256
|
version: '0'
|
246
257
|
requirements: []
|
247
|
-
rubygems_version: 3.
|
258
|
+
rubygems_version: 3.3.5
|
248
259
|
signing_key:
|
249
260
|
specification_version: 4
|
250
261
|
summary: OpenID Connect Strategy for OmniAuth
|