omniauth_openid_federation 1.3.0 → 2.0.0

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.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -1
  3. data/README.md +120 -14
  4. data/app/controllers/omniauth_openid_federation/federation_controller.rb +3 -3
  5. data/config/polyrun_coverage.yml +15 -0
  6. data/config/polyrun_spec_quality.yml +29 -0
  7. data/config/routes.rb +20 -10
  8. data/examples/README_INTEGRATION_TESTING.md +3 -0
  9. data/examples/integration_test_flow.rb +10 -8
  10. data/examples/jobs/federation_cache_refresh_job.rb.example +7 -7
  11. data/examples/jobs/federation_files_generation_job.rb.example +3 -2
  12. data/examples/mock_op_server.rb +4 -5
  13. data/examples/mock_rp_server.rb +3 -3
  14. data/examples/standalone_multiple_endpoints_example.rb +494 -0
  15. data/lib/omniauth_openid_federation/access_token.rb +91 -450
  16. data/lib/omniauth_openid_federation/cache.rb +16 -0
  17. data/lib/omniauth_openid_federation/cache_adapter.rb +6 -3
  18. data/lib/omniauth_openid_federation/constants.rb +3 -0
  19. data/lib/omniauth_openid_federation/entity_statement_reader.rb +39 -14
  20. data/lib/omniauth_openid_federation/federation/entity_statement.rb +0 -4
  21. data/lib/omniauth_openid_federation/federation/entity_statement_builder.rb +7 -14
  22. data/lib/omniauth_openid_federation/federation/entity_statement_helper.rb +40 -11
  23. data/lib/omniauth_openid_federation/federation/entity_statement_validator.rb +8 -91
  24. data/lib/omniauth_openid_federation/federation/signed_jwks.rb +0 -1
  25. data/lib/omniauth_openid_federation/federation/trust_chain_resolver.rb +54 -21
  26. data/lib/omniauth_openid_federation/federation_endpoint.rb +40 -172
  27. data/lib/omniauth_openid_federation/http_client.rb +145 -32
  28. data/lib/omniauth_openid_federation/http_errors.rb +14 -0
  29. data/lib/omniauth_openid_federation/id_token.rb +19 -0
  30. data/lib/omniauth_openid_federation/jwe.rb +26 -0
  31. data/lib/omniauth_openid_federation/jwks/decode.rb +0 -13
  32. data/lib/omniauth_openid_federation/jwks/fetch.rb +16 -39
  33. data/lib/omniauth_openid_federation/jwks/rotate.rb +45 -20
  34. data/lib/omniauth_openid_federation/jws.rb +3 -11
  35. data/lib/omniauth_openid_federation/jwt_response_decoder.rb +290 -0
  36. data/lib/omniauth_openid_federation/oidc_client.rb +101 -0
  37. data/lib/omniauth_openid_federation/rack.rb +2 -0
  38. data/lib/omniauth_openid_federation/rack_endpoint.rb +21 -9
  39. data/lib/omniauth_openid_federation/rate_limiter.rb +10 -12
  40. data/lib/omniauth_openid_federation/secure_compare.rb +15 -0
  41. data/lib/omniauth_openid_federation/strategy/authorization_request.rb +220 -0
  42. data/lib/omniauth_openid_federation/strategy/callback_handling.rb +135 -0
  43. data/lib/omniauth_openid_federation/strategy/client_construction.rb +101 -0
  44. data/lib/omniauth_openid_federation/strategy/client_entity_statement.rb +211 -0
  45. data/lib/omniauth_openid_federation/strategy/endpoint_resolution.rb +433 -0
  46. data/lib/omniauth_openid_federation/strategy/failure_handling.rb +75 -0
  47. data/lib/omniauth_openid_federation/strategy/id_token_decoding.rb +268 -0
  48. data/lib/omniauth_openid_federation/strategy/jwks_resolution.rb +268 -0
  49. data/lib/omniauth_openid_federation/strategy/provider_entity_statement.rb +134 -0
  50. data/lib/omniauth_openid_federation/strategy/userinfo_decoding.rb +61 -0
  51. data/lib/omniauth_openid_federation/strategy.rb +27 -1910
  52. data/lib/omniauth_openid_federation/tasks/authentication_flow_tester.rb +237 -0
  53. data/lib/omniauth_openid_federation/tasks/callback_processor.rb +235 -0
  54. data/lib/omniauth_openid_federation/tasks/client_keys_preparer.rb +96 -0
  55. data/lib/omniauth_openid_federation/tasks/local_endpoint_tester.rb +189 -0
  56. data/lib/omniauth_openid_federation/tasks/path_resolver.rb +20 -0
  57. data/lib/omniauth_openid_federation/tasks_helper.rb +28 -790
  58. data/lib/omniauth_openid_federation/time_helpers.rb +67 -0
  59. data/lib/omniauth_openid_federation/user_info.rb +15 -0
  60. data/lib/omniauth_openid_federation/utils.rb +14 -9
  61. data/lib/omniauth_openid_federation/validators.rb +55 -44
  62. data/lib/omniauth_openid_federation/version.rb +1 -1
  63. data/lib/omniauth_openid_federation.rb +10 -3
  64. data/lib/tasks/omniauth_openid_federation.rake +5 -5
  65. data/sig/omniauth_openid_federation.rbs +8 -1
  66. data/sig/strategy.rbs +6 -6
  67. metadata +252 -43
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth_openid_federation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrei Makarov
@@ -24,33 +24,33 @@ dependencies:
24
24
  - !ruby/object:Gem::Version
25
25
  version: '1.8'
26
26
  - !ruby/object:Gem::Dependency
27
- name: openid_connect
27
+ name: oauth2
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '2.3'
32
+ version: '2.0'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '2.3'
39
+ version: '2.0'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: jwt
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '3.1'
46
+ version: '3.2'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '3.1'
53
+ version: '3.2'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: jwe
56
56
  requirement: !ruby/object:Gem::Requirement
@@ -71,48 +71,42 @@ dependencies:
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '5.3'
74
+ version: '6.0'
75
75
  type: :runtime
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '5.3'
81
+ version: '6.0'
82
82
  - !ruby/object:Gem::Dependency
83
- name: rack
83
+ name: rspec
84
84
  requirement: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: '2.0'
89
- - - "<"
86
+ - - "~>"
90
87
  - !ruby/object:Gem::Version
91
- version: '4'
92
- type: :runtime
88
+ version: '3.13'
89
+ type: :development
93
90
  prerelease: false
94
91
  version_requirements: !ruby/object:Gem::Requirement
95
92
  requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- version: '2.0'
99
- - - "<"
93
+ - - "~>"
100
94
  - !ruby/object:Gem::Version
101
- version: '4'
95
+ version: '3.13'
102
96
  - !ruby/object:Gem::Dependency
103
- name: rspec
97
+ name: polyrun
104
98
  requirement: !ruby/object:Gem::Requirement
105
99
  requirements:
106
- - - "~>"
100
+ - - ">="
107
101
  - !ruby/object:Gem::Version
108
- version: '3.13'
102
+ version: 2.1.2
109
103
  type: :development
110
104
  prerelease: false
111
105
  version_requirements: !ruby/object:Gem::Requirement
112
106
  requirements:
113
- - - "~>"
107
+ - - ">="
114
108
  - !ruby/object:Gem::Version
115
- version: '3.13'
109
+ version: 2.1.2
116
110
  - !ruby/object:Gem::Dependency
117
111
  name: webmock
118
112
  requirement: !ruby/object:Gem::Requirement
@@ -120,6 +114,9 @@ dependencies:
120
114
  - - "~>"
121
115
  - !ruby/object:Gem::Version
122
116
  version: '3.26'
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: 3.26.2
123
120
  type: :development
124
121
  prerelease: false
125
122
  version_requirements: !ruby/object:Gem::Requirement
@@ -127,6 +124,9 @@ dependencies:
127
124
  - - "~>"
128
125
  - !ruby/object:Gem::Version
129
126
  version: '3.26'
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: 3.26.2
130
130
  - !ruby/object:Gem::Dependency
131
131
  name: rake
132
132
  requirement: !ruby/object:Gem::Requirement
@@ -142,61 +142,117 @@ dependencies:
142
142
  - !ruby/object:Gem::Version
143
143
  version: '13.3'
144
144
  - !ruby/object:Gem::Dependency
145
- name: simplecov
145
+ name: standard
146
146
  requirement: !ruby/object:Gem::Requirement
147
147
  requirements:
148
148
  - - "~>"
149
149
  - !ruby/object:Gem::Version
150
- version: '0.22'
150
+ version: '1.52'
151
151
  type: :development
152
152
  prerelease: false
153
153
  version_requirements: !ruby/object:Gem::Requirement
154
154
  requirements:
155
155
  - - "~>"
156
156
  - !ruby/object:Gem::Version
157
- version: '0.22'
157
+ version: '1.52'
158
158
  - !ruby/object:Gem::Dependency
159
- name: rspec_junit_formatter
159
+ name: standard-custom
160
160
  requirement: !ruby/object:Gem::Requirement
161
161
  requirements:
162
162
  - - "~>"
163
163
  - !ruby/object:Gem::Version
164
- version: '0.6'
164
+ version: '1.0'
165
165
  type: :development
166
166
  prerelease: false
167
167
  version_requirements: !ruby/object:Gem::Requirement
168
168
  requirements:
169
169
  - - "~>"
170
170
  - !ruby/object:Gem::Version
171
- version: '0.6'
171
+ version: '1.0'
172
172
  - !ruby/object:Gem::Dependency
173
- name: simplecov-cobertura
173
+ name: standard-performance
174
174
  requirement: !ruby/object:Gem::Requirement
175
175
  requirements:
176
176
  - - "~>"
177
177
  - !ruby/object:Gem::Version
178
- version: '3.1'
178
+ version: '1.8'
179
179
  type: :development
180
180
  prerelease: false
181
181
  version_requirements: !ruby/object:Gem::Requirement
182
182
  requirements:
183
183
  - - "~>"
184
184
  - !ruby/object:Gem::Version
185
- version: '3.1'
185
+ version: '1.8'
186
186
  - !ruby/object:Gem::Dependency
187
- name: standard
187
+ name: standard-rails
188
188
  requirement: !ruby/object:Gem::Requirement
189
189
  requirements:
190
190
  - - "~>"
191
191
  - !ruby/object:Gem::Version
192
- version: '1.52'
192
+ version: '1.5'
193
193
  type: :development
194
194
  prerelease: false
195
195
  version_requirements: !ruby/object:Gem::Requirement
196
196
  requirements:
197
197
  - - "~>"
198
198
  - !ruby/object:Gem::Version
199
- version: '1.52'
199
+ version: '1.5'
200
+ - !ruby/object:Gem::Dependency
201
+ name: standard-rspec
202
+ requirement: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - "~>"
205
+ - !ruby/object:Gem::Version
206
+ version: '0.3'
207
+ type: :development
208
+ prerelease: false
209
+ version_requirements: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - "~>"
212
+ - !ruby/object:Gem::Version
213
+ version: '0.3'
214
+ - !ruby/object:Gem::Dependency
215
+ name: rubocop-rails
216
+ requirement: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - "~>"
219
+ - !ruby/object:Gem::Version
220
+ version: '2.33'
221
+ type: :development
222
+ prerelease: false
223
+ version_requirements: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - "~>"
226
+ - !ruby/object:Gem::Version
227
+ version: '2.33'
228
+ - !ruby/object:Gem::Dependency
229
+ name: rubocop-rspec
230
+ requirement: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - "~>"
233
+ - !ruby/object:Gem::Version
234
+ version: '3.8'
235
+ type: :development
236
+ prerelease: false
237
+ version_requirements: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - "~>"
240
+ - !ruby/object:Gem::Version
241
+ version: '3.8'
242
+ - !ruby/object:Gem::Dependency
243
+ name: rubocop-thread_safety
244
+ requirement: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - "~>"
247
+ - !ruby/object:Gem::Version
248
+ version: '0.7'
249
+ type: :development
250
+ prerelease: false
251
+ version_requirements: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - "~>"
254
+ - !ruby/object:Gem::Version
255
+ version: '0.7'
200
256
  - !ruby/object:Gem::Dependency
201
257
  name: appraisal
202
258
  requirement: !ruby/object:Gem::Requirement
@@ -225,6 +281,20 @@ dependencies:
225
281
  - - "~>"
226
282
  - !ruby/object:Gem::Version
227
283
  version: '1.1'
284
+ - !ruby/object:Gem::Dependency
285
+ name: mutex_m
286
+ requirement: !ruby/object:Gem::Requirement
287
+ requirements:
288
+ - - ">="
289
+ - !ruby/object:Gem::Version
290
+ version: '0'
291
+ type: :development
292
+ prerelease: false
293
+ version_requirements: !ruby/object:Gem::Requirement
294
+ requirements:
295
+ - - ">="
296
+ - !ruby/object:Gem::Version
297
+ version: '0'
228
298
  - !ruby/object:Gem::Dependency
229
299
  name: rbs
230
300
  requirement: !ruby/object:Gem::Requirement
@@ -253,10 +323,122 @@ dependencies:
253
323
  - - "~>"
254
324
  - !ruby/object:Gem::Version
255
325
  version: '1.9'
256
- description: Custom OmniAuth strategy for OpenID Federation providers using openid_connect
257
- gem, supporting signed request objects (RFC 9101), ID token encryption/decryption,
258
- client assertion (private_key_jwt), and OpenID Federation entity statements. Framework-agnostic
259
- and works with Rails, Sinatra, Rack, and other Rack-compatible frameworks.
326
+ - !ruby/object:Gem::Dependency
327
+ name: rodauth
328
+ requirement: !ruby/object:Gem::Requirement
329
+ requirements:
330
+ - - "~>"
331
+ - !ruby/object:Gem::Version
332
+ version: '2.0'
333
+ type: :development
334
+ prerelease: false
335
+ version_requirements: !ruby/object:Gem::Requirement
336
+ requirements:
337
+ - - "~>"
338
+ - !ruby/object:Gem::Version
339
+ version: '2.0'
340
+ - !ruby/object:Gem::Dependency
341
+ name: rodauth-omniauth
342
+ requirement: !ruby/object:Gem::Requirement
343
+ requirements:
344
+ - - "~>"
345
+ - !ruby/object:Gem::Version
346
+ version: '0.6'
347
+ type: :development
348
+ prerelease: false
349
+ version_requirements: !ruby/object:Gem::Requirement
350
+ requirements:
351
+ - - "~>"
352
+ - !ruby/object:Gem::Version
353
+ version: '0.6'
354
+ - !ruby/object:Gem::Dependency
355
+ name: sequel
356
+ requirement: !ruby/object:Gem::Requirement
357
+ requirements:
358
+ - - "~>"
359
+ - !ruby/object:Gem::Version
360
+ version: '5.0'
361
+ type: :development
362
+ prerelease: false
363
+ version_requirements: !ruby/object:Gem::Requirement
364
+ requirements:
365
+ - - "~>"
366
+ - !ruby/object:Gem::Version
367
+ version: '5.0'
368
+ - !ruby/object:Gem::Dependency
369
+ name: sqlite3
370
+ requirement: !ruby/object:Gem::Requirement
371
+ requirements:
372
+ - - "~>"
373
+ - !ruby/object:Gem::Version
374
+ version: '2.0'
375
+ type: :development
376
+ prerelease: false
377
+ version_requirements: !ruby/object:Gem::Requirement
378
+ requirements:
379
+ - - "~>"
380
+ - !ruby/object:Gem::Version
381
+ version: '2.0'
382
+ - !ruby/object:Gem::Dependency
383
+ name: rack-test
384
+ requirement: !ruby/object:Gem::Requirement
385
+ requirements:
386
+ - - "~>"
387
+ - !ruby/object:Gem::Version
388
+ version: '2.0'
389
+ type: :development
390
+ prerelease: false
391
+ version_requirements: !ruby/object:Gem::Requirement
392
+ requirements:
393
+ - - "~>"
394
+ - !ruby/object:Gem::Version
395
+ version: '2.0'
396
+ - !ruby/object:Gem::Dependency
397
+ name: tilt
398
+ requirement: !ruby/object:Gem::Requirement
399
+ requirements:
400
+ - - "~>"
401
+ - !ruby/object:Gem::Version
402
+ version: '2.0'
403
+ type: :development
404
+ prerelease: false
405
+ version_requirements: !ruby/object:Gem::Requirement
406
+ requirements:
407
+ - - "~>"
408
+ - !ruby/object:Gem::Version
409
+ version: '2.0'
410
+ - !ruby/object:Gem::Dependency
411
+ name: bcrypt
412
+ requirement: !ruby/object:Gem::Requirement
413
+ requirements:
414
+ - - "~>"
415
+ - !ruby/object:Gem::Version
416
+ version: '3.1'
417
+ type: :development
418
+ prerelease: false
419
+ version_requirements: !ruby/object:Gem::Requirement
420
+ requirements:
421
+ - - "~>"
422
+ - !ruby/object:Gem::Version
423
+ version: '3.1'
424
+ - !ruby/object:Gem::Dependency
425
+ name: bundler-audit
426
+ requirement: !ruby/object:Gem::Requirement
427
+ requirements:
428
+ - - "~>"
429
+ - !ruby/object:Gem::Version
430
+ version: '0.9'
431
+ type: :development
432
+ prerelease: false
433
+ version_requirements: !ruby/object:Gem::Requirement
434
+ requirements:
435
+ - - "~>"
436
+ - !ruby/object:Gem::Version
437
+ version: '0.9'
438
+ description: Custom OmniAuth strategy for OpenID Federation providers supporting signed
439
+ request objects (RFC 9101), ID token encryption/decryption, client assertion (private_key_jwt),
440
+ and OpenID Federation entity statements. Framework-agnostic and works with Rails,
441
+ Sinatra, Rack, and other Rack-compatible frameworks.
260
442
  email:
261
443
  - contact@kiskolabs.com
262
444
  executables: []
@@ -268,6 +450,8 @@ files:
268
450
  - README.md
269
451
  - SECURITY.md
270
452
  - app/controllers/omniauth_openid_federation/federation_controller.rb
453
+ - config/polyrun_coverage.yml
454
+ - config/polyrun_spec_quality.yml
271
455
  - config/routes.rb
272
456
  - examples/README_INTEGRATION_TESTING.md
273
457
  - examples/README_MOCK_OP.md
@@ -286,6 +470,7 @@ files:
286
470
  - examples/jobs/federation_files_generation_job.rb.example
287
471
  - examples/mock_op_server.rb
288
472
  - examples/mock_rp_server.rb
473
+ - examples/standalone_multiple_endpoints_example.rb
289
474
  - lib/omniauth_openid_federation.rb
290
475
  - lib/omniauth_openid_federation/access_token.rb
291
476
  - lib/omniauth_openid_federation/cache.rb
@@ -307,7 +492,10 @@ files:
307
492
  - lib/omniauth_openid_federation/federation/trust_chain_resolver.rb
308
493
  - lib/omniauth_openid_federation/federation_endpoint.rb
309
494
  - lib/omniauth_openid_federation/http_client.rb
495
+ - lib/omniauth_openid_federation/http_errors.rb
496
+ - lib/omniauth_openid_federation/id_token.rb
310
497
  - lib/omniauth_openid_federation/instrumentation.rb
498
+ - lib/omniauth_openid_federation/jwe.rb
311
499
  - lib/omniauth_openid_federation/jwks/cache.rb
312
500
  - lib/omniauth_openid_federation/jwks/decode.rb
313
501
  - lib/omniauth_openid_federation/jwks/fetch.rb
@@ -315,14 +503,35 @@ files:
315
503
  - lib/omniauth_openid_federation/jwks/rotate.rb
316
504
  - lib/omniauth_openid_federation/jwks/selector.rb
317
505
  - lib/omniauth_openid_federation/jws.rb
506
+ - lib/omniauth_openid_federation/jwt_response_decoder.rb
318
507
  - lib/omniauth_openid_federation/key_extractor.rb
319
508
  - lib/omniauth_openid_federation/logger.rb
509
+ - lib/omniauth_openid_federation/oidc_client.rb
510
+ - lib/omniauth_openid_federation/rack.rb
320
511
  - lib/omniauth_openid_federation/rack_endpoint.rb
321
512
  - lib/omniauth_openid_federation/railtie.rb
322
513
  - lib/omniauth_openid_federation/rate_limiter.rb
514
+ - lib/omniauth_openid_federation/secure_compare.rb
323
515
  - lib/omniauth_openid_federation/strategy.rb
516
+ - lib/omniauth_openid_federation/strategy/authorization_request.rb
517
+ - lib/omniauth_openid_federation/strategy/callback_handling.rb
518
+ - lib/omniauth_openid_federation/strategy/client_construction.rb
519
+ - lib/omniauth_openid_federation/strategy/client_entity_statement.rb
520
+ - lib/omniauth_openid_federation/strategy/endpoint_resolution.rb
521
+ - lib/omniauth_openid_federation/strategy/failure_handling.rb
522
+ - lib/omniauth_openid_federation/strategy/id_token_decoding.rb
523
+ - lib/omniauth_openid_federation/strategy/jwks_resolution.rb
524
+ - lib/omniauth_openid_federation/strategy/provider_entity_statement.rb
525
+ - lib/omniauth_openid_federation/strategy/userinfo_decoding.rb
324
526
  - lib/omniauth_openid_federation/string_helpers.rb
527
+ - lib/omniauth_openid_federation/tasks/authentication_flow_tester.rb
528
+ - lib/omniauth_openid_federation/tasks/callback_processor.rb
529
+ - lib/omniauth_openid_federation/tasks/client_keys_preparer.rb
530
+ - lib/omniauth_openid_federation/tasks/local_endpoint_tester.rb
531
+ - lib/omniauth_openid_federation/tasks/path_resolver.rb
325
532
  - lib/omniauth_openid_federation/tasks_helper.rb
533
+ - lib/omniauth_openid_federation/time_helpers.rb
534
+ - lib/omniauth_openid_federation/user_info.rb
326
535
  - lib/omniauth_openid_federation/utils.rb
327
536
  - lib/omniauth_openid_federation/validators.rb
328
537
  - lib/omniauth_openid_federation/version.rb
@@ -347,14 +556,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
347
556
  requirements:
348
557
  - - ">="
349
558
  - !ruby/object:Gem::Version
350
- version: '3.0'
559
+ version: '3.2'
351
560
  required_rubygems_version: !ruby/object:Gem::Requirement
352
561
  requirements:
353
562
  - - ">="
354
563
  - !ruby/object:Gem::Version
355
564
  version: 3.3.0
356
565
  requirements: []
357
- rubygems_version: 3.6.9
566
+ rubygems_version: 4.0.3
358
567
  specification_version: 4
359
568
  summary: OmniAuth strategy for OpenID Federation providers with signed request objects
360
569
  and ID token encryption.