oauth2 2.0.20 → 2.0.22
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +84 -3
- data/CITATION.cff +6 -6
- data/CODE_OF_CONDUCT.md +0 -0
- data/CONTRIBUTING.md +82 -31
- data/FUNDING.md +1 -1
- data/LICENSE.md +110 -0
- data/README.md +245 -675
- data/RUBOCOP.md +0 -0
- data/SECURITY.md +1 -4
- data/certs/pboling.pem +27 -0
- data/lib/oauth2/access_token.rb +0 -0
- data/lib/oauth2/auth_sanitizer.rb +3 -3
- data/lib/oauth2/authenticator.rb +0 -0
- data/lib/oauth2/client.rb +45 -12
- data/lib/oauth2/error.rb +0 -0
- data/lib/oauth2/filtered_attributes.rb +0 -0
- data/lib/oauth2/response.rb +0 -0
- data/lib/oauth2/strategy/assertion.rb +0 -0
- data/lib/oauth2/strategy/auth_code.rb +0 -0
- data/lib/oauth2/strategy/base.rb +0 -0
- data/lib/oauth2/strategy/client_credentials.rb +0 -0
- data/lib/oauth2/strategy/implicit.rb +0 -0
- data/lib/oauth2/strategy/password.rb +0 -0
- data/lib/oauth2/version.rb +1 -1
- data/lib/oauth2.rb +1 -1
- data/sig/oauth2/access_token.rbs +0 -0
- data/sig/oauth2/authenticator.rbs +0 -0
- data/sig/oauth2/client.rbs +0 -0
- data/sig/oauth2/error.rbs +0 -0
- data/sig/oauth2/filtered_attributes.rbs +0 -0
- data/sig/oauth2/response.rbs +0 -0
- data/sig/oauth2/sanitized_logger.rbs +0 -0
- data/sig/oauth2/strategy.rbs +0 -0
- data/sig/oauth2/thing_filter.rbs +0 -0
- data/sig/oauth2/version.rbs +1 -0
- data/sig/oauth2.rbs +0 -0
- data.tar.gz.sig +0 -0
- metadata +105 -113
- metadata.gz.sig +0 -0
- data/IRP.md +0 -107
- data/LICENSE.txt +0 -22
- data/OIDC.md +0 -167
- data/REEK +0 -2
- data/THREAT_MODEL.md +0 -94
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: oauth2
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.22
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter Boling
|
|
@@ -45,20 +45,20 @@ dependencies:
|
|
|
45
45
|
requirements:
|
|
46
46
|
- - "~>"
|
|
47
47
|
- !ruby/object:Gem::Version
|
|
48
|
-
version: '0.
|
|
48
|
+
version: '0.2'
|
|
49
49
|
- - ">="
|
|
50
50
|
- !ruby/object:Gem::Version
|
|
51
|
-
version: 0.1
|
|
51
|
+
version: 0.2.1
|
|
52
52
|
type: :runtime
|
|
53
53
|
prerelease: false
|
|
54
54
|
version_requirements: !ruby/object:Gem::Requirement
|
|
55
55
|
requirements:
|
|
56
56
|
- - "~>"
|
|
57
57
|
- !ruby/object:Gem::Version
|
|
58
|
-
version: '0.
|
|
58
|
+
version: '0.2'
|
|
59
59
|
- - ">="
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.1
|
|
61
|
+
version: 0.2.1
|
|
62
62
|
- !ruby/object:Gem::Dependency
|
|
63
63
|
name: faraday
|
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -156,7 +156,7 @@ dependencies:
|
|
|
156
156
|
version: '2.0'
|
|
157
157
|
- - ">="
|
|
158
158
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: 2.0.
|
|
159
|
+
version: 2.0.5
|
|
160
160
|
type: :runtime
|
|
161
161
|
prerelease: false
|
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -166,7 +166,7 @@ dependencies:
|
|
|
166
166
|
version: '2.0'
|
|
167
167
|
- - ">="
|
|
168
168
|
- !ruby/object:Gem::Version
|
|
169
|
-
version: 2.0.
|
|
169
|
+
version: 2.0.5
|
|
170
170
|
- !ruby/object:Gem::Dependency
|
|
171
171
|
name: version_gem
|
|
172
172
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -176,7 +176,7 @@ dependencies:
|
|
|
176
176
|
version: '1.1'
|
|
177
177
|
- - ">="
|
|
178
178
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: 1.1.
|
|
179
|
+
version: 1.1.11
|
|
180
180
|
type: :runtime
|
|
181
181
|
prerelease: false
|
|
182
182
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -186,145 +186,151 @@ dependencies:
|
|
|
186
186
|
version: '1.1'
|
|
187
187
|
- - ">="
|
|
188
188
|
- !ruby/object:Gem::Version
|
|
189
|
-
version: 1.1.
|
|
189
|
+
version: 1.1.11
|
|
190
190
|
- !ruby/object:Gem::Dependency
|
|
191
|
-
name:
|
|
191
|
+
name: kettle-dev
|
|
192
192
|
requirement: !ruby/object:Gem::Requirement
|
|
193
193
|
requirements:
|
|
194
194
|
- - "~>"
|
|
195
195
|
- !ruby/object:Gem::Version
|
|
196
|
-
version: '2.
|
|
196
|
+
version: '2.1'
|
|
197
197
|
- - ">="
|
|
198
198
|
- !ruby/object:Gem::Version
|
|
199
|
-
version: 2.
|
|
199
|
+
version: 2.1.1
|
|
200
200
|
type: :development
|
|
201
201
|
prerelease: false
|
|
202
202
|
version_requirements: !ruby/object:Gem::Requirement
|
|
203
203
|
requirements:
|
|
204
204
|
- - "~>"
|
|
205
205
|
- !ruby/object:Gem::Version
|
|
206
|
-
version: '2.
|
|
206
|
+
version: '2.1'
|
|
207
207
|
- - ">="
|
|
208
208
|
- !ruby/object:Gem::Version
|
|
209
|
-
version: 2.
|
|
209
|
+
version: 2.1.1
|
|
210
210
|
- !ruby/object:Gem::Dependency
|
|
211
|
-
name:
|
|
211
|
+
name: bundler-audit
|
|
212
212
|
requirement: !ruby/object:Gem::Requirement
|
|
213
213
|
requirements:
|
|
214
214
|
- - "~>"
|
|
215
215
|
- !ruby/object:Gem::Version
|
|
216
|
-
version:
|
|
216
|
+
version: 0.9.3
|
|
217
217
|
type: :development
|
|
218
218
|
prerelease: false
|
|
219
219
|
version_requirements: !ruby/object:Gem::Requirement
|
|
220
220
|
requirements:
|
|
221
221
|
- - "~>"
|
|
222
222
|
- !ruby/object:Gem::Version
|
|
223
|
-
version:
|
|
223
|
+
version: 0.9.3
|
|
224
224
|
- !ruby/object:Gem::Dependency
|
|
225
|
-
name:
|
|
225
|
+
name: rake
|
|
226
226
|
requirement: !ruby/object:Gem::Requirement
|
|
227
227
|
requirements:
|
|
228
228
|
- - "~>"
|
|
229
229
|
- !ruby/object:Gem::Version
|
|
230
|
-
version: '
|
|
231
|
-
- - ">="
|
|
232
|
-
- !ruby/object:Gem::Version
|
|
233
|
-
version: 3.2.5
|
|
230
|
+
version: '13.0'
|
|
234
231
|
type: :development
|
|
235
232
|
prerelease: false
|
|
236
233
|
version_requirements: !ruby/object:Gem::Requirement
|
|
237
234
|
requirements:
|
|
238
235
|
- - "~>"
|
|
239
236
|
- !ruby/object:Gem::Version
|
|
240
|
-
version: '
|
|
241
|
-
- - ">="
|
|
242
|
-
- !ruby/object:Gem::Version
|
|
243
|
-
version: 3.2.5
|
|
237
|
+
version: '13.0'
|
|
244
238
|
- !ruby/object:Gem::Dependency
|
|
245
|
-
name:
|
|
239
|
+
name: require_bench
|
|
246
240
|
requirement: !ruby/object:Gem::Requirement
|
|
247
241
|
requirements:
|
|
248
242
|
- - "~>"
|
|
249
243
|
- !ruby/object:Gem::Version
|
|
250
|
-
version: '
|
|
244
|
+
version: '1.0'
|
|
245
|
+
- - ">="
|
|
246
|
+
- !ruby/object:Gem::Version
|
|
247
|
+
version: 1.0.4
|
|
251
248
|
type: :development
|
|
252
249
|
prerelease: false
|
|
253
250
|
version_requirements: !ruby/object:Gem::Requirement
|
|
254
251
|
requirements:
|
|
255
252
|
- - "~>"
|
|
256
253
|
- !ruby/object:Gem::Version
|
|
257
|
-
version: '
|
|
254
|
+
version: '1.0'
|
|
255
|
+
- - ">="
|
|
256
|
+
- !ruby/object:Gem::Version
|
|
257
|
+
version: 1.0.4
|
|
258
258
|
- !ruby/object:Gem::Dependency
|
|
259
|
-
name:
|
|
259
|
+
name: appraisal2
|
|
260
260
|
requirement: !ruby/object:Gem::Requirement
|
|
261
261
|
requirements:
|
|
262
262
|
- - "~>"
|
|
263
263
|
- !ruby/object:Gem::Version
|
|
264
|
-
version:
|
|
264
|
+
version: '3.1'
|
|
265
|
+
- - ">="
|
|
266
|
+
- !ruby/object:Gem::Version
|
|
267
|
+
version: 3.1.1
|
|
265
268
|
type: :development
|
|
266
269
|
prerelease: false
|
|
267
270
|
version_requirements: !ruby/object:Gem::Requirement
|
|
268
271
|
requirements:
|
|
269
272
|
- - "~>"
|
|
270
273
|
- !ruby/object:Gem::Version
|
|
271
|
-
version:
|
|
274
|
+
version: '3.1'
|
|
275
|
+
- - ">="
|
|
276
|
+
- !ruby/object:Gem::Version
|
|
277
|
+
version: 3.1.1
|
|
272
278
|
- !ruby/object:Gem::Dependency
|
|
273
|
-
name:
|
|
279
|
+
name: kettle-test
|
|
274
280
|
requirement: !ruby/object:Gem::Requirement
|
|
275
281
|
requirements:
|
|
276
282
|
- - "~>"
|
|
277
283
|
- !ruby/object:Gem::Version
|
|
278
|
-
version: '
|
|
284
|
+
version: '2.0'
|
|
285
|
+
- - ">="
|
|
286
|
+
- !ruby/object:Gem::Version
|
|
287
|
+
version: 2.0.3
|
|
279
288
|
type: :development
|
|
280
289
|
prerelease: false
|
|
281
290
|
version_requirements: !ruby/object:Gem::Requirement
|
|
282
291
|
requirements:
|
|
283
292
|
- - "~>"
|
|
284
293
|
- !ruby/object:Gem::Version
|
|
285
|
-
version: '
|
|
294
|
+
version: '2.0'
|
|
295
|
+
- - ">="
|
|
296
|
+
- !ruby/object:Gem::Version
|
|
297
|
+
version: 2.0.3
|
|
286
298
|
- !ruby/object:Gem::Dependency
|
|
287
|
-
name:
|
|
299
|
+
name: turbo_tests2
|
|
288
300
|
requirement: !ruby/object:Gem::Requirement
|
|
289
301
|
requirements:
|
|
290
302
|
- - "~>"
|
|
291
303
|
- !ruby/object:Gem::Version
|
|
292
|
-
version: '1
|
|
304
|
+
version: '3.1'
|
|
293
305
|
- - ">="
|
|
294
306
|
- !ruby/object:Gem::Version
|
|
295
|
-
version: 1.
|
|
307
|
+
version: 3.1.1
|
|
296
308
|
type: :development
|
|
297
309
|
prerelease: false
|
|
298
310
|
version_requirements: !ruby/object:Gem::Requirement
|
|
299
311
|
requirements:
|
|
300
312
|
- - "~>"
|
|
301
313
|
- !ruby/object:Gem::Version
|
|
302
|
-
version: '1
|
|
314
|
+
version: '3.1'
|
|
303
315
|
- - ">="
|
|
304
316
|
- !ruby/object:Gem::Version
|
|
305
|
-
version: 1.
|
|
317
|
+
version: 3.1.1
|
|
306
318
|
- !ruby/object:Gem::Dependency
|
|
307
|
-
name:
|
|
319
|
+
name: ruby-progressbar
|
|
308
320
|
requirement: !ruby/object:Gem::Requirement
|
|
309
321
|
requirements:
|
|
310
322
|
- - "~>"
|
|
311
323
|
- !ruby/object:Gem::Version
|
|
312
|
-
version: '
|
|
313
|
-
- - ">="
|
|
314
|
-
- !ruby/object:Gem::Version
|
|
315
|
-
version: 3.0.6
|
|
324
|
+
version: '1.13'
|
|
316
325
|
type: :development
|
|
317
326
|
prerelease: false
|
|
318
327
|
version_requirements: !ruby/object:Gem::Requirement
|
|
319
328
|
requirements:
|
|
320
329
|
- - "~>"
|
|
321
330
|
- !ruby/object:Gem::Version
|
|
322
|
-
version: '
|
|
323
|
-
- - ">="
|
|
324
|
-
- !ruby/object:Gem::Version
|
|
325
|
-
version: 3.0.6
|
|
331
|
+
version: '1.13'
|
|
326
332
|
- !ruby/object:Gem::Dependency
|
|
327
|
-
name:
|
|
333
|
+
name: stone_checksums
|
|
328
334
|
requirement: !ruby/object:Gem::Requirement
|
|
329
335
|
requirements:
|
|
330
336
|
- - "~>"
|
|
@@ -332,7 +338,7 @@ dependencies:
|
|
|
332
338
|
version: '1.0'
|
|
333
339
|
- - ">="
|
|
334
340
|
- !ruby/object:Gem::Version
|
|
335
|
-
version: 1.0.
|
|
341
|
+
version: 1.0.3
|
|
336
342
|
type: :development
|
|
337
343
|
prerelease: false
|
|
338
344
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -342,81 +348,101 @@ dependencies:
|
|
|
342
348
|
version: '1.0'
|
|
343
349
|
- - ">="
|
|
344
350
|
- !ruby/object:Gem::Version
|
|
345
|
-
version: 1.0.
|
|
351
|
+
version: 1.0.3
|
|
346
352
|
- !ruby/object:Gem::Dependency
|
|
347
|
-
name:
|
|
353
|
+
name: gitmoji-regex
|
|
348
354
|
requirement: !ruby/object:Gem::Requirement
|
|
349
355
|
requirements:
|
|
350
356
|
- - "~>"
|
|
351
357
|
- !ruby/object:Gem::Version
|
|
352
|
-
version: '
|
|
358
|
+
version: '2.0'
|
|
359
|
+
- - ">="
|
|
360
|
+
- !ruby/object:Gem::Version
|
|
361
|
+
version: 2.0.1
|
|
353
362
|
type: :development
|
|
354
363
|
prerelease: false
|
|
355
364
|
version_requirements: !ruby/object:Gem::Requirement
|
|
356
365
|
requirements:
|
|
357
366
|
- - "~>"
|
|
358
367
|
- !ruby/object:Gem::Version
|
|
359
|
-
version: '
|
|
368
|
+
version: '2.0'
|
|
369
|
+
- - ">="
|
|
370
|
+
- !ruby/object:Gem::Version
|
|
371
|
+
version: 2.0.1
|
|
360
372
|
- !ruby/object:Gem::Dependency
|
|
361
|
-
name:
|
|
373
|
+
name: addressable
|
|
362
374
|
requirement: !ruby/object:Gem::Requirement
|
|
363
375
|
requirements:
|
|
364
376
|
- - "~>"
|
|
365
377
|
- !ruby/object:Gem::Version
|
|
366
|
-
version: '
|
|
378
|
+
version: '2.8'
|
|
367
379
|
- - ">="
|
|
368
380
|
- !ruby/object:Gem::Version
|
|
369
|
-
version:
|
|
381
|
+
version: 2.8.7
|
|
370
382
|
type: :development
|
|
371
383
|
prerelease: false
|
|
372
384
|
version_requirements: !ruby/object:Gem::Requirement
|
|
373
385
|
requirements:
|
|
374
386
|
- - "~>"
|
|
375
387
|
- !ruby/object:Gem::Version
|
|
376
|
-
version: '
|
|
388
|
+
version: '2.8'
|
|
377
389
|
- - ">="
|
|
378
390
|
- !ruby/object:Gem::Version
|
|
379
|
-
version:
|
|
391
|
+
version: 2.8.7
|
|
380
392
|
- !ruby/object:Gem::Dependency
|
|
381
|
-
name:
|
|
393
|
+
name: backports
|
|
382
394
|
requirement: !ruby/object:Gem::Requirement
|
|
383
395
|
requirements:
|
|
384
396
|
- - "~>"
|
|
385
397
|
- !ruby/object:Gem::Version
|
|
386
|
-
version: '
|
|
398
|
+
version: '3.25'
|
|
387
399
|
- - ">="
|
|
388
400
|
- !ruby/object:Gem::Version
|
|
389
|
-
version:
|
|
401
|
+
version: 3.25.1
|
|
390
402
|
type: :development
|
|
391
403
|
prerelease: false
|
|
392
404
|
version_requirements: !ruby/object:Gem::Requirement
|
|
393
405
|
requirements:
|
|
394
406
|
- - "~>"
|
|
395
407
|
- !ruby/object:Gem::Version
|
|
396
|
-
version: '
|
|
408
|
+
version: '3.25'
|
|
397
409
|
- - ">="
|
|
398
410
|
- !ruby/object:Gem::Version
|
|
399
|
-
version:
|
|
411
|
+
version: 3.25.1
|
|
400
412
|
- !ruby/object:Gem::Dependency
|
|
401
|
-
name:
|
|
413
|
+
name: nkf
|
|
402
414
|
requirement: !ruby/object:Gem::Requirement
|
|
403
415
|
requirements:
|
|
404
416
|
- - "~>"
|
|
405
417
|
- !ruby/object:Gem::Version
|
|
406
|
-
version: '
|
|
418
|
+
version: '0.2'
|
|
419
|
+
type: :development
|
|
420
|
+
prerelease: false
|
|
421
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
422
|
+
requirements:
|
|
423
|
+
- - "~>"
|
|
424
|
+
- !ruby/object:Gem::Version
|
|
425
|
+
version: '0.2'
|
|
426
|
+
- !ruby/object:Gem::Dependency
|
|
427
|
+
name: rexml
|
|
428
|
+
requirement: !ruby/object:Gem::Requirement
|
|
429
|
+
requirements:
|
|
430
|
+
- - "~>"
|
|
431
|
+
- !ruby/object:Gem::Version
|
|
432
|
+
version: '3.2'
|
|
407
433
|
- - ">="
|
|
408
434
|
- !ruby/object:Gem::Version
|
|
409
|
-
version: 3.
|
|
435
|
+
version: 3.2.5
|
|
410
436
|
type: :development
|
|
411
437
|
prerelease: false
|
|
412
438
|
version_requirements: !ruby/object:Gem::Requirement
|
|
413
439
|
requirements:
|
|
414
440
|
- - "~>"
|
|
415
441
|
- !ruby/object:Gem::Version
|
|
416
|
-
version: '3.
|
|
442
|
+
version: '3.2'
|
|
417
443
|
- - ">="
|
|
418
444
|
- !ruby/object:Gem::Version
|
|
419
|
-
version: 3.
|
|
445
|
+
version: 3.2.5
|
|
420
446
|
description: "\U0001F510 A Ruby wrapper for the OAuth 2.0 Authorization Framework,
|
|
421
447
|
including the OAuth 2.1 draft spec, and OpenID Connect (OIDC)"
|
|
422
448
|
email:
|
|
@@ -430,28 +456,21 @@ extra_rdoc_files:
|
|
|
430
456
|
- CODE_OF_CONDUCT.md
|
|
431
457
|
- CONTRIBUTING.md
|
|
432
458
|
- FUNDING.md
|
|
433
|
-
-
|
|
434
|
-
- LICENSE.txt
|
|
435
|
-
- OIDC.md
|
|
459
|
+
- LICENSE.md
|
|
436
460
|
- README.md
|
|
437
|
-
- REEK
|
|
438
461
|
- RUBOCOP.md
|
|
439
462
|
- SECURITY.md
|
|
440
|
-
- THREAT_MODEL.md
|
|
441
463
|
files:
|
|
442
464
|
- CHANGELOG.md
|
|
443
465
|
- CITATION.cff
|
|
444
466
|
- CODE_OF_CONDUCT.md
|
|
445
467
|
- CONTRIBUTING.md
|
|
446
468
|
- FUNDING.md
|
|
447
|
-
-
|
|
448
|
-
- LICENSE.txt
|
|
449
|
-
- OIDC.md
|
|
469
|
+
- LICENSE.md
|
|
450
470
|
- README.md
|
|
451
|
-
- REEK
|
|
452
471
|
- RUBOCOP.md
|
|
453
472
|
- SECURITY.md
|
|
454
|
-
-
|
|
473
|
+
- certs/pboling.pem
|
|
455
474
|
- lib/oauth2.rb
|
|
456
475
|
- lib/oauth2/access_token.rb
|
|
457
476
|
- lib/oauth2/auth_sanitizer.rb
|
|
@@ -482,43 +501,16 @@ homepage: https://github.com/ruby-oauth/oauth2
|
|
|
482
501
|
licenses:
|
|
483
502
|
- MIT
|
|
484
503
|
metadata:
|
|
485
|
-
homepage_uri: https://oauth2.galtzo.com
|
|
486
|
-
source_code_uri: https://github.com/ruby-oauth/oauth2/tree/v2.0.
|
|
487
|
-
changelog_uri: https://github.com/ruby-oauth/oauth2/blob/v2.0.
|
|
504
|
+
homepage_uri: https://oauth2.galtzo.com
|
|
505
|
+
source_code_uri: https://github.com/ruby-oauth/oauth2/tree/v2.0.22
|
|
506
|
+
changelog_uri: https://github.com/ruby-oauth/oauth2/blob/v2.0.22/CHANGELOG.md
|
|
488
507
|
bug_tracker_uri: https://github.com/ruby-oauth/oauth2/issues
|
|
489
|
-
documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.
|
|
490
|
-
mailing_list_uri: https://groups.google.com/g/oauth-ruby
|
|
508
|
+
documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.22
|
|
491
509
|
funding_uri: https://github.com/sponsors/pboling
|
|
492
|
-
wiki_uri: https://
|
|
510
|
+
wiki_uri: https://github.com/ruby-oauth/oauth2/wiki
|
|
493
511
|
news_uri: https://www.railsbling.com/tags/oauth2
|
|
494
512
|
discord_uri: https://discord.gg/3qme4XHNKN
|
|
495
513
|
rubygems_mfa_required: 'true'
|
|
496
|
-
post_install_message: |2
|
|
497
|
-
|
|
498
|
-
---+++--- oauth2 v2.0.20 ---+++---
|
|
499
|
-
|
|
500
|
-
(minor) ⚠️ BREAKING CHANGES ⚠️ when upgrading from < v2
|
|
501
|
-
• Summary of breaking changes: https://gitlab.com/ruby-oauth/oauth2#what-is-new-for-v20
|
|
502
|
-
• Changes in this patch: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.20/CHANGELOG.md#2015-2025-09-08
|
|
503
|
-
|
|
504
|
-
News:
|
|
505
|
-
1. New documentation website, including for OAuth 2.1 and OIDC: https://oauth2.galtzo.com
|
|
506
|
-
2. New official Discord for discussion and support: https://discord.gg/3qme4XHNKN
|
|
507
|
-
3. New org name "ruby-oauth" on Open Source Collective, GitHub, GitLab, Codeberg (update git remotes!)
|
|
508
|
-
4. Non-commercial support for the 2.x series will end by April, 2026. Please make a plan to upgrade to the next version prior to that date.
|
|
509
|
-
Support will be dropped for Ruby 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 3.0, 3.1 and any other Ruby versions which will also have reached EOL by then.
|
|
510
|
-
5. Gem releases are cryptographically signed with a 20-year cert; SHA-256 & SHA-512 checksums by stone_checksums.
|
|
511
|
-
6. Please consider supporting this project:
|
|
512
|
-
• https://opencollective.com/ruby-oauth (new!)
|
|
513
|
-
• https://liberapay.com/pboling
|
|
514
|
-
• https://github.com/sponsors/pboling
|
|
515
|
-
• https://www.paypal.com/paypalme/peterboling
|
|
516
|
-
• https://ko-fi.com/pboling
|
|
517
|
-
• https://www.buymeacoffee.com/pboling
|
|
518
|
-
• https://tidelift.com/funding/github/rubygems/oauth
|
|
519
|
-
• Hire me - I can build anything
|
|
520
|
-
• Report issues, and star the project
|
|
521
|
-
Thanks, @pboling / @galtzo
|
|
522
514
|
rdoc_options:
|
|
523
515
|
- "--title"
|
|
524
516
|
- "oauth2 - \U0001F510 OAuth 2.0, 2.1 & OIDC Core Ruby implementation"
|
|
@@ -542,7 +534,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
542
534
|
- !ruby/object:Gem::Version
|
|
543
535
|
version: '0'
|
|
544
536
|
requirements: []
|
|
545
|
-
rubygems_version: 4.0.
|
|
537
|
+
rubygems_version: 4.0.10
|
|
546
538
|
specification_version: 4
|
|
547
539
|
summary: "\U0001F510 OAuth 2.0, 2.1 & OIDC Core Ruby implementation"
|
|
548
540
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|
data/IRP.md
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
# Incident Response Plan (IRP)
|
|
2
|
-
|
|
3
|
-
Status: Draft
|
|
4
|
-
|
|
5
|
-
## Purpose
|
|
6
|
-
|
|
7
|
-
This Incident Response Plan (IRP) defines the steps the project maintainer(s) will follow when handling security incidents related to the `oauth2` gem. It is written for a small project with a single primary maintainer and is intended to be practical, concise, and actionable.
|
|
8
|
-
|
|
9
|
-
## Scope
|
|
10
|
-
|
|
11
|
-
Applies to security incidents that affect the `oauth2` codebase, releases (gems), CI/CD infrastructure related to building and publishing the gem, repository credentials, or any compromise of project infrastructure that could impact users.
|
|
12
|
-
|
|
13
|
-
## Key assumptions
|
|
14
|
-
- This project is maintained primarily by a single maintainer.
|
|
15
|
-
- Public vulnerability disclosure is handled via Tidelift (see `SECURITY.md`).
|
|
16
|
-
- The maintainer will act as incident commander unless otherwise delegated.
|
|
17
|
-
|
|
18
|
-
## Contact & Roles
|
|
19
|
-
|
|
20
|
-
- Incident Commander: Primary maintainer (repo owner). Responsible for coordinating triage, remediation, and communications.
|
|
21
|
-
- Secondary Contact: (optional) A trusted collaborator or organization contact if available.
|
|
22
|
-
|
|
23
|
-
### If you are an external reporter
|
|
24
|
-
- Do not publicly disclose details of an active vulnerability before coordination via Tidelift.
|
|
25
|
-
- See `SECURITY.md` for Tidelift disclosure instructions. If the reporter has questions and cannot use Tidelift, they may open a direct encrypted report as described in `SECURITY.md` (if available) or email the maintainer contact listed in the repository.
|
|
26
|
-
|
|
27
|
-
## Incident Handling Workflow (high level)
|
|
28
|
-
1. Identification & Reporting
|
|
29
|
-
- Reports may arrive via Tidelift, issue tracker, direct email, or third-party advisories.
|
|
30
|
-
- Immediately acknowledge receipt (within 24-72 hours) via the reporting channel.
|
|
31
|
-
|
|
32
|
-
2. Triage & Initial Assessment (first 72 hours)
|
|
33
|
-
- Confirm the report is not duplicative and gather: reproducer, affected versions, attack surface, exploitability, and CVSS-like severity estimate.
|
|
34
|
-
- Verify the issue against the codebase and reproduce locally if possible.
|
|
35
|
-
- Determine scope: which versions are affected, whether the issue is in code paths executed in common setups, and whether a workaround exists.
|
|
36
|
-
|
|
37
|
-
3. Containment & Mitigation
|
|
38
|
-
- If a simple mitigation or workaround (configuration change, safe default, or recommended upgrade) exists, document it clearly in the issue/Tidelift advisory.
|
|
39
|
-
- If immediate removal of a release is required (rare), consult Tidelift for coordinated takedown and notify package hosts if applicable.
|
|
40
|
-
|
|
41
|
-
4. Remediation & Patch
|
|
42
|
-
- Prepare a fix in a branch with tests and changelog entries. Prefer minimal, well-tested changes.
|
|
43
|
-
- Include tests that reproduce the faulty behavior and demonstrate the fix.
|
|
44
|
-
- Hardening: add fuzz tests, input validation, or additional checks as appropriate.
|
|
45
|
-
|
|
46
|
-
5. Release & Disclosure
|
|
47
|
-
- Coordinate disclosure through Tidelift per `SECURITY.md` timelines. Aim for a coordinated disclosure and patch release to minimize risk to users.
|
|
48
|
-
- Publish a patch release (increment gem version) and an advisory via Tidelift.
|
|
49
|
-
- Update `CHANGELOG.md` and repository release notes with non-sensitive details.
|
|
50
|
-
|
|
51
|
-
6. Post-Incident
|
|
52
|
-
- Produce a short postmortem: timeline, root cause, actions taken, and follow-ups.
|
|
53
|
-
- Add/adjust tests and CI checks to prevent regressions.
|
|
54
|
-
- If credentials or infrastructure were compromised, rotate secrets and audit access.
|
|
55
|
-
|
|
56
|
-
## Severity classification (guidance)
|
|
57
|
-
- High/Critical: Remote code execution, data exfiltration, or any vulnerability that can be exploited without user interaction. Immediate action and prioritized patching.
|
|
58
|
-
- Medium: Privilege escalation, sensitive information leaks that require specific conditions. Patch in the next release cycle with advisory.
|
|
59
|
-
- Low: Minor information leaks, UI issues, or non-exploitable bugs. Fix normally and include in the next scheduled release.
|
|
60
|
-
|
|
61
|
-
## Preservation of evidence
|
|
62
|
-
- Preserve all reporter-provided data, logs, and reproducer code in a secure location (local encrypted storage or private branch) for the investigation.
|
|
63
|
-
- Do not publish evidence that would enable exploitation before coordinated disclosure.
|
|
64
|
-
|
|
65
|
-
## Communication templates
|
|
66
|
-
Acknowledgement (to reporter)
|
|
67
|
-
|
|
68
|
-
"Thank you for reporting this issue. I've received your report and will triage it within 72 hours. If you can, please provide reproduction steps, affected versions, and any exploit PoC. I will coordinate disclosure through Tidelift per the project's security policy."
|
|
69
|
-
|
|
70
|
-
Public advisory (after patch is ready)
|
|
71
|
-
|
|
72
|
-
"A security advisory for oauth2 (versions X.Y.Z) has been published via Tidelift. Please upgrade to version A.B.C which patches [brief description]. See the advisory for details and recommended mitigations."
|
|
73
|
-
|
|
74
|
-
## Runbook: Quick steps for a maintainer to patch and release
|
|
75
|
-
1. Create a branch: `git checkout -b fix/security-brief-description`
|
|
76
|
-
2. Reproduce the issue locally and add a regression spec in `spec/`.
|
|
77
|
-
3. Implement the fix and run the test suite: `bundle exec rspec` (or the project's preferred test command).
|
|
78
|
-
4. Bump version in `lib/oauth2/version.rb` following semantic versioning.
|
|
79
|
-
5. Update `CHANGELOG.md` with an entry describing the fix (avoid exploit details).
|
|
80
|
-
6. Commit and push the branch, open a PR, and merge after approvals.
|
|
81
|
-
7. Build and push the gem: `gem build oauth2.gemspec && gem push pkg/...` (coordinate with Tidelift before public push if disclosure is coordinated).
|
|
82
|
-
8. Publish a release on GitHub and ensure the Tidelift advisory is posted.
|
|
83
|
-
|
|
84
|
-
## Operational notes
|
|
85
|
-
- Secrets: Use local encrypted storage for any sensitive reporter data. If repository or CI secrets may be compromised, rotate them immediately and update dependent services.
|
|
86
|
-
- Access control: Limit who can publish gems and who has admin access to the repo. Keep an up-to-date list of collaborators in a secure place.
|
|
87
|
-
|
|
88
|
-
## Legal & regulatory
|
|
89
|
-
- If the incident involves user data or has legal implications, consult legal counsel or the maintainers' employer as appropriate. The maintainer should document the timeline and all communications.
|
|
90
|
-
|
|
91
|
-
## Retrospective & continuous improvement
|
|
92
|
-
After an incident, perform a brief post-incident review covering:
|
|
93
|
-
- What happened and why
|
|
94
|
-
- What was done to contain and remediate
|
|
95
|
-
- What tests or process changes will prevent recurrence
|
|
96
|
-
- Assign owners and deadlines for follow-up tasks
|
|
97
|
-
|
|
98
|
-
## References
|
|
99
|
-
- See `SECURITY.md` for the project's official disclosure channel (Tidelift).
|
|
100
|
-
|
|
101
|
-
## Appendix: Example checklist for an incident
|
|
102
|
-
- [ ] Acknowledge report to reporter (24-72 hours)
|
|
103
|
-
- [ ] Reproduce and classify severity
|
|
104
|
-
- [ ] Prepare and test a fix in a branch
|
|
105
|
-
- [ ] Coordinate disclosure via Tidelift
|
|
106
|
-
- [ ] Publish patch release and advisory
|
|
107
|
-
- [ ] Postmortem and follow-up actions
|
data/LICENSE.txt
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2017-2026 Peter H. Boling, of Galtzo.com, and oauth2 contributors
|
|
4
|
-
Copyright (c) 2011-2013 Michael Bleigh and Intridea, Inc.
|
|
5
|
-
|
|
6
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
in the Software without restriction, including without limitation the rights
|
|
9
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
furnished to do so, subject to the following conditions:
|
|
12
|
-
|
|
13
|
-
The above copyright notice and this permission notice shall be included in all
|
|
14
|
-
copies or substantial portions of the Software.
|
|
15
|
-
|
|
16
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
-
SOFTWARE.
|