oauth2 2.0.19 → 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 +107 -1
- 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 +36 -0
- data/lib/oauth2/authenticator.rb +0 -0
- data/lib/oauth2/client.rb +46 -13
- data/lib/oauth2/error.rb +0 -0
- data/lib/oauth2/filtered_attributes.rb +2 -5
- 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 +2 -1
- data/lib/oauth2.rb +5 -5
- 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 +110 -111
- 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,14 +45,20 @@ dependencies:
|
|
|
45
45
|
requirements:
|
|
46
46
|
- - "~>"
|
|
47
47
|
- !ruby/object:Gem::Version
|
|
48
|
-
version: '0.
|
|
48
|
+
version: '0.2'
|
|
49
|
+
- - ">="
|
|
50
|
+
- !ruby/object:Gem::Version
|
|
51
|
+
version: 0.2.1
|
|
49
52
|
type: :runtime
|
|
50
53
|
prerelease: false
|
|
51
54
|
version_requirements: !ruby/object:Gem::Requirement
|
|
52
55
|
requirements:
|
|
53
56
|
- - "~>"
|
|
54
57
|
- !ruby/object:Gem::Version
|
|
55
|
-
version: '0.
|
|
58
|
+
version: '0.2'
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 0.2.1
|
|
56
62
|
- !ruby/object:Gem::Dependency
|
|
57
63
|
name: faraday
|
|
58
64
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -150,7 +156,7 @@ dependencies:
|
|
|
150
156
|
version: '2.0'
|
|
151
157
|
- - ">="
|
|
152
158
|
- !ruby/object:Gem::Version
|
|
153
|
-
version: 2.0.
|
|
159
|
+
version: 2.0.5
|
|
154
160
|
type: :runtime
|
|
155
161
|
prerelease: false
|
|
156
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -160,7 +166,7 @@ dependencies:
|
|
|
160
166
|
version: '2.0'
|
|
161
167
|
- - ">="
|
|
162
168
|
- !ruby/object:Gem::Version
|
|
163
|
-
version: 2.0.
|
|
169
|
+
version: 2.0.5
|
|
164
170
|
- !ruby/object:Gem::Dependency
|
|
165
171
|
name: version_gem
|
|
166
172
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -170,7 +176,7 @@ dependencies:
|
|
|
170
176
|
version: '1.1'
|
|
171
177
|
- - ">="
|
|
172
178
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: 1.1.
|
|
179
|
+
version: 1.1.11
|
|
174
180
|
type: :runtime
|
|
175
181
|
prerelease: false
|
|
176
182
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -180,145 +186,151 @@ dependencies:
|
|
|
180
186
|
version: '1.1'
|
|
181
187
|
- - ">="
|
|
182
188
|
- !ruby/object:Gem::Version
|
|
183
|
-
version: 1.1.
|
|
189
|
+
version: 1.1.11
|
|
184
190
|
- !ruby/object:Gem::Dependency
|
|
185
|
-
name:
|
|
191
|
+
name: kettle-dev
|
|
186
192
|
requirement: !ruby/object:Gem::Requirement
|
|
187
193
|
requirements:
|
|
188
194
|
- - "~>"
|
|
189
195
|
- !ruby/object:Gem::Version
|
|
190
|
-
version: '2.
|
|
196
|
+
version: '2.1'
|
|
191
197
|
- - ">="
|
|
192
198
|
- !ruby/object:Gem::Version
|
|
193
|
-
version: 2.
|
|
199
|
+
version: 2.1.1
|
|
194
200
|
type: :development
|
|
195
201
|
prerelease: false
|
|
196
202
|
version_requirements: !ruby/object:Gem::Requirement
|
|
197
203
|
requirements:
|
|
198
204
|
- - "~>"
|
|
199
205
|
- !ruby/object:Gem::Version
|
|
200
|
-
version: '2.
|
|
206
|
+
version: '2.1'
|
|
201
207
|
- - ">="
|
|
202
208
|
- !ruby/object:Gem::Version
|
|
203
|
-
version: 2.
|
|
209
|
+
version: 2.1.1
|
|
204
210
|
- !ruby/object:Gem::Dependency
|
|
205
|
-
name:
|
|
211
|
+
name: bundler-audit
|
|
206
212
|
requirement: !ruby/object:Gem::Requirement
|
|
207
213
|
requirements:
|
|
208
214
|
- - "~>"
|
|
209
215
|
- !ruby/object:Gem::Version
|
|
210
|
-
version:
|
|
216
|
+
version: 0.9.3
|
|
211
217
|
type: :development
|
|
212
218
|
prerelease: false
|
|
213
219
|
version_requirements: !ruby/object:Gem::Requirement
|
|
214
220
|
requirements:
|
|
215
221
|
- - "~>"
|
|
216
222
|
- !ruby/object:Gem::Version
|
|
217
|
-
version:
|
|
223
|
+
version: 0.9.3
|
|
218
224
|
- !ruby/object:Gem::Dependency
|
|
219
|
-
name:
|
|
225
|
+
name: rake
|
|
220
226
|
requirement: !ruby/object:Gem::Requirement
|
|
221
227
|
requirements:
|
|
222
228
|
- - "~>"
|
|
223
229
|
- !ruby/object:Gem::Version
|
|
224
|
-
version: '
|
|
225
|
-
- - ">="
|
|
226
|
-
- !ruby/object:Gem::Version
|
|
227
|
-
version: 3.2.5
|
|
230
|
+
version: '13.0'
|
|
228
231
|
type: :development
|
|
229
232
|
prerelease: false
|
|
230
233
|
version_requirements: !ruby/object:Gem::Requirement
|
|
231
234
|
requirements:
|
|
232
235
|
- - "~>"
|
|
233
236
|
- !ruby/object:Gem::Version
|
|
234
|
-
version: '
|
|
235
|
-
- - ">="
|
|
236
|
-
- !ruby/object:Gem::Version
|
|
237
|
-
version: 3.2.5
|
|
237
|
+
version: '13.0'
|
|
238
238
|
- !ruby/object:Gem::Dependency
|
|
239
|
-
name:
|
|
239
|
+
name: require_bench
|
|
240
240
|
requirement: !ruby/object:Gem::Requirement
|
|
241
241
|
requirements:
|
|
242
242
|
- - "~>"
|
|
243
243
|
- !ruby/object:Gem::Version
|
|
244
|
-
version: '
|
|
244
|
+
version: '1.0'
|
|
245
|
+
- - ">="
|
|
246
|
+
- !ruby/object:Gem::Version
|
|
247
|
+
version: 1.0.4
|
|
245
248
|
type: :development
|
|
246
249
|
prerelease: false
|
|
247
250
|
version_requirements: !ruby/object:Gem::Requirement
|
|
248
251
|
requirements:
|
|
249
252
|
- - "~>"
|
|
250
253
|
- !ruby/object:Gem::Version
|
|
251
|
-
version: '
|
|
254
|
+
version: '1.0'
|
|
255
|
+
- - ">="
|
|
256
|
+
- !ruby/object:Gem::Version
|
|
257
|
+
version: 1.0.4
|
|
252
258
|
- !ruby/object:Gem::Dependency
|
|
253
|
-
name:
|
|
259
|
+
name: appraisal2
|
|
254
260
|
requirement: !ruby/object:Gem::Requirement
|
|
255
261
|
requirements:
|
|
256
262
|
- - "~>"
|
|
257
263
|
- !ruby/object:Gem::Version
|
|
258
|
-
version:
|
|
264
|
+
version: '3.1'
|
|
265
|
+
- - ">="
|
|
266
|
+
- !ruby/object:Gem::Version
|
|
267
|
+
version: 3.1.1
|
|
259
268
|
type: :development
|
|
260
269
|
prerelease: false
|
|
261
270
|
version_requirements: !ruby/object:Gem::Requirement
|
|
262
271
|
requirements:
|
|
263
272
|
- - "~>"
|
|
264
273
|
- !ruby/object:Gem::Version
|
|
265
|
-
version:
|
|
274
|
+
version: '3.1'
|
|
275
|
+
- - ">="
|
|
276
|
+
- !ruby/object:Gem::Version
|
|
277
|
+
version: 3.1.1
|
|
266
278
|
- !ruby/object:Gem::Dependency
|
|
267
|
-
name:
|
|
279
|
+
name: kettle-test
|
|
268
280
|
requirement: !ruby/object:Gem::Requirement
|
|
269
281
|
requirements:
|
|
270
282
|
- - "~>"
|
|
271
283
|
- !ruby/object:Gem::Version
|
|
272
|
-
version: '
|
|
284
|
+
version: '2.0'
|
|
285
|
+
- - ">="
|
|
286
|
+
- !ruby/object:Gem::Version
|
|
287
|
+
version: 2.0.3
|
|
273
288
|
type: :development
|
|
274
289
|
prerelease: false
|
|
275
290
|
version_requirements: !ruby/object:Gem::Requirement
|
|
276
291
|
requirements:
|
|
277
292
|
- - "~>"
|
|
278
293
|
- !ruby/object:Gem::Version
|
|
279
|
-
version: '
|
|
294
|
+
version: '2.0'
|
|
295
|
+
- - ">="
|
|
296
|
+
- !ruby/object:Gem::Version
|
|
297
|
+
version: 2.0.3
|
|
280
298
|
- !ruby/object:Gem::Dependency
|
|
281
|
-
name:
|
|
299
|
+
name: turbo_tests2
|
|
282
300
|
requirement: !ruby/object:Gem::Requirement
|
|
283
301
|
requirements:
|
|
284
302
|
- - "~>"
|
|
285
303
|
- !ruby/object:Gem::Version
|
|
286
|
-
version: '1
|
|
304
|
+
version: '3.1'
|
|
287
305
|
- - ">="
|
|
288
306
|
- !ruby/object:Gem::Version
|
|
289
|
-
version: 1.
|
|
307
|
+
version: 3.1.1
|
|
290
308
|
type: :development
|
|
291
309
|
prerelease: false
|
|
292
310
|
version_requirements: !ruby/object:Gem::Requirement
|
|
293
311
|
requirements:
|
|
294
312
|
- - "~>"
|
|
295
313
|
- !ruby/object:Gem::Version
|
|
296
|
-
version: '1
|
|
314
|
+
version: '3.1'
|
|
297
315
|
- - ">="
|
|
298
316
|
- !ruby/object:Gem::Version
|
|
299
|
-
version: 1.
|
|
317
|
+
version: 3.1.1
|
|
300
318
|
- !ruby/object:Gem::Dependency
|
|
301
|
-
name:
|
|
319
|
+
name: ruby-progressbar
|
|
302
320
|
requirement: !ruby/object:Gem::Requirement
|
|
303
321
|
requirements:
|
|
304
322
|
- - "~>"
|
|
305
323
|
- !ruby/object:Gem::Version
|
|
306
|
-
version: '
|
|
307
|
-
- - ">="
|
|
308
|
-
- !ruby/object:Gem::Version
|
|
309
|
-
version: 3.0.6
|
|
324
|
+
version: '1.13'
|
|
310
325
|
type: :development
|
|
311
326
|
prerelease: false
|
|
312
327
|
version_requirements: !ruby/object:Gem::Requirement
|
|
313
328
|
requirements:
|
|
314
329
|
- - "~>"
|
|
315
330
|
- !ruby/object:Gem::Version
|
|
316
|
-
version: '
|
|
317
|
-
- - ">="
|
|
318
|
-
- !ruby/object:Gem::Version
|
|
319
|
-
version: 3.0.6
|
|
331
|
+
version: '1.13'
|
|
320
332
|
- !ruby/object:Gem::Dependency
|
|
321
|
-
name:
|
|
333
|
+
name: stone_checksums
|
|
322
334
|
requirement: !ruby/object:Gem::Requirement
|
|
323
335
|
requirements:
|
|
324
336
|
- - "~>"
|
|
@@ -326,7 +338,7 @@ dependencies:
|
|
|
326
338
|
version: '1.0'
|
|
327
339
|
- - ">="
|
|
328
340
|
- !ruby/object:Gem::Version
|
|
329
|
-
version: 1.0.
|
|
341
|
+
version: 1.0.3
|
|
330
342
|
type: :development
|
|
331
343
|
prerelease: false
|
|
332
344
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -336,81 +348,101 @@ dependencies:
|
|
|
336
348
|
version: '1.0'
|
|
337
349
|
- - ">="
|
|
338
350
|
- !ruby/object:Gem::Version
|
|
339
|
-
version: 1.0.
|
|
351
|
+
version: 1.0.3
|
|
340
352
|
- !ruby/object:Gem::Dependency
|
|
341
|
-
name:
|
|
353
|
+
name: gitmoji-regex
|
|
342
354
|
requirement: !ruby/object:Gem::Requirement
|
|
343
355
|
requirements:
|
|
344
356
|
- - "~>"
|
|
345
357
|
- !ruby/object:Gem::Version
|
|
346
|
-
version: '
|
|
358
|
+
version: '2.0'
|
|
359
|
+
- - ">="
|
|
360
|
+
- !ruby/object:Gem::Version
|
|
361
|
+
version: 2.0.1
|
|
347
362
|
type: :development
|
|
348
363
|
prerelease: false
|
|
349
364
|
version_requirements: !ruby/object:Gem::Requirement
|
|
350
365
|
requirements:
|
|
351
366
|
- - "~>"
|
|
352
367
|
- !ruby/object:Gem::Version
|
|
353
|
-
version: '
|
|
368
|
+
version: '2.0'
|
|
369
|
+
- - ">="
|
|
370
|
+
- !ruby/object:Gem::Version
|
|
371
|
+
version: 2.0.1
|
|
354
372
|
- !ruby/object:Gem::Dependency
|
|
355
|
-
name:
|
|
373
|
+
name: addressable
|
|
356
374
|
requirement: !ruby/object:Gem::Requirement
|
|
357
375
|
requirements:
|
|
358
376
|
- - "~>"
|
|
359
377
|
- !ruby/object:Gem::Version
|
|
360
|
-
version: '
|
|
378
|
+
version: '2.8'
|
|
361
379
|
- - ">="
|
|
362
380
|
- !ruby/object:Gem::Version
|
|
363
|
-
version:
|
|
381
|
+
version: 2.8.7
|
|
364
382
|
type: :development
|
|
365
383
|
prerelease: false
|
|
366
384
|
version_requirements: !ruby/object:Gem::Requirement
|
|
367
385
|
requirements:
|
|
368
386
|
- - "~>"
|
|
369
387
|
- !ruby/object:Gem::Version
|
|
370
|
-
version: '
|
|
388
|
+
version: '2.8'
|
|
371
389
|
- - ">="
|
|
372
390
|
- !ruby/object:Gem::Version
|
|
373
|
-
version:
|
|
391
|
+
version: 2.8.7
|
|
374
392
|
- !ruby/object:Gem::Dependency
|
|
375
|
-
name:
|
|
393
|
+
name: backports
|
|
376
394
|
requirement: !ruby/object:Gem::Requirement
|
|
377
395
|
requirements:
|
|
378
396
|
- - "~>"
|
|
379
397
|
- !ruby/object:Gem::Version
|
|
380
|
-
version: '
|
|
398
|
+
version: '3.25'
|
|
381
399
|
- - ">="
|
|
382
400
|
- !ruby/object:Gem::Version
|
|
383
|
-
version:
|
|
401
|
+
version: 3.25.1
|
|
384
402
|
type: :development
|
|
385
403
|
prerelease: false
|
|
386
404
|
version_requirements: !ruby/object:Gem::Requirement
|
|
387
405
|
requirements:
|
|
388
406
|
- - "~>"
|
|
389
407
|
- !ruby/object:Gem::Version
|
|
390
|
-
version: '
|
|
408
|
+
version: '3.25'
|
|
391
409
|
- - ">="
|
|
392
410
|
- !ruby/object:Gem::Version
|
|
393
|
-
version:
|
|
411
|
+
version: 3.25.1
|
|
394
412
|
- !ruby/object:Gem::Dependency
|
|
395
|
-
name:
|
|
413
|
+
name: nkf
|
|
396
414
|
requirement: !ruby/object:Gem::Requirement
|
|
397
415
|
requirements:
|
|
398
416
|
- - "~>"
|
|
399
417
|
- !ruby/object:Gem::Version
|
|
400
|
-
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'
|
|
401
433
|
- - ">="
|
|
402
434
|
- !ruby/object:Gem::Version
|
|
403
|
-
version: 3.
|
|
435
|
+
version: 3.2.5
|
|
404
436
|
type: :development
|
|
405
437
|
prerelease: false
|
|
406
438
|
version_requirements: !ruby/object:Gem::Requirement
|
|
407
439
|
requirements:
|
|
408
440
|
- - "~>"
|
|
409
441
|
- !ruby/object:Gem::Version
|
|
410
|
-
version: '3.
|
|
442
|
+
version: '3.2'
|
|
411
443
|
- - ">="
|
|
412
444
|
- !ruby/object:Gem::Version
|
|
413
|
-
version: 3.
|
|
445
|
+
version: 3.2.5
|
|
414
446
|
description: "\U0001F510 A Ruby wrapper for the OAuth 2.0 Authorization Framework,
|
|
415
447
|
including the OAuth 2.1 draft spec, and OpenID Connect (OIDC)"
|
|
416
448
|
email:
|
|
@@ -424,30 +456,24 @@ extra_rdoc_files:
|
|
|
424
456
|
- CODE_OF_CONDUCT.md
|
|
425
457
|
- CONTRIBUTING.md
|
|
426
458
|
- FUNDING.md
|
|
427
|
-
-
|
|
428
|
-
- LICENSE.txt
|
|
429
|
-
- OIDC.md
|
|
459
|
+
- LICENSE.md
|
|
430
460
|
- README.md
|
|
431
|
-
- REEK
|
|
432
461
|
- RUBOCOP.md
|
|
433
462
|
- SECURITY.md
|
|
434
|
-
- THREAT_MODEL.md
|
|
435
463
|
files:
|
|
436
464
|
- CHANGELOG.md
|
|
437
465
|
- CITATION.cff
|
|
438
466
|
- CODE_OF_CONDUCT.md
|
|
439
467
|
- CONTRIBUTING.md
|
|
440
468
|
- FUNDING.md
|
|
441
|
-
-
|
|
442
|
-
- LICENSE.txt
|
|
443
|
-
- OIDC.md
|
|
469
|
+
- LICENSE.md
|
|
444
470
|
- README.md
|
|
445
|
-
- REEK
|
|
446
471
|
- RUBOCOP.md
|
|
447
472
|
- SECURITY.md
|
|
448
|
-
-
|
|
473
|
+
- certs/pboling.pem
|
|
449
474
|
- lib/oauth2.rb
|
|
450
475
|
- lib/oauth2/access_token.rb
|
|
476
|
+
- lib/oauth2/auth_sanitizer.rb
|
|
451
477
|
- lib/oauth2/authenticator.rb
|
|
452
478
|
- lib/oauth2/client.rb
|
|
453
479
|
- lib/oauth2/error.rb
|
|
@@ -475,43 +501,16 @@ homepage: https://github.com/ruby-oauth/oauth2
|
|
|
475
501
|
licenses:
|
|
476
502
|
- MIT
|
|
477
503
|
metadata:
|
|
478
|
-
homepage_uri: https://oauth2.galtzo.com
|
|
479
|
-
source_code_uri: https://github.com/ruby-oauth/oauth2/tree/v2.0.
|
|
480
|
-
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
|
|
481
507
|
bug_tracker_uri: https://github.com/ruby-oauth/oauth2/issues
|
|
482
|
-
documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.
|
|
483
|
-
mailing_list_uri: https://groups.google.com/g/oauth-ruby
|
|
508
|
+
documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.22
|
|
484
509
|
funding_uri: https://github.com/sponsors/pboling
|
|
485
|
-
wiki_uri: https://
|
|
510
|
+
wiki_uri: https://github.com/ruby-oauth/oauth2/wiki
|
|
486
511
|
news_uri: https://www.railsbling.com/tags/oauth2
|
|
487
512
|
discord_uri: https://discord.gg/3qme4XHNKN
|
|
488
513
|
rubygems_mfa_required: 'true'
|
|
489
|
-
post_install_message: |2
|
|
490
|
-
|
|
491
|
-
---+++--- oauth2 v2.0.19 ---+++---
|
|
492
|
-
|
|
493
|
-
(minor) ⚠️ BREAKING CHANGES ⚠️ when upgrading from < v2
|
|
494
|
-
• Summary of breaking changes: https://gitlab.com/ruby-oauth/oauth2#what-is-new-for-v20
|
|
495
|
-
• Changes in this patch: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.19/CHANGELOG.md#2015-2025-09-08
|
|
496
|
-
|
|
497
|
-
News:
|
|
498
|
-
1. New documentation website, including for OAuth 2.1 and OIDC: https://oauth2.galtzo.com
|
|
499
|
-
2. New official Discord for discussion and support: https://discord.gg/3qme4XHNKN
|
|
500
|
-
3. New org name "ruby-oauth" on Open Source Collective, GitHub, GitLab, Codeberg (update git remotes!)
|
|
501
|
-
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.
|
|
502
|
-
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.
|
|
503
|
-
5. Gem releases are cryptographically signed with a 20-year cert; SHA-256 & SHA-512 checksums by stone_checksums.
|
|
504
|
-
6. Please consider supporting this project:
|
|
505
|
-
• https://opencollective.com/ruby-oauth (new!)
|
|
506
|
-
• https://liberapay.com/pboling
|
|
507
|
-
• https://github.com/sponsors/pboling
|
|
508
|
-
• https://www.paypal.com/paypalme/peterboling
|
|
509
|
-
• https://ko-fi.com/pboling
|
|
510
|
-
• https://www.buymeacoffee.com/pboling
|
|
511
|
-
• https://tidelift.com/funding/github/rubygems/oauth
|
|
512
|
-
• Hire me - I can build anything
|
|
513
|
-
• Report issues, and star the project
|
|
514
|
-
Thanks, @pboling / @galtzo
|
|
515
514
|
rdoc_options:
|
|
516
515
|
- "--title"
|
|
517
516
|
- "oauth2 - \U0001F510 OAuth 2.0, 2.1 & OIDC Core Ruby implementation"
|
|
@@ -535,7 +534,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
535
534
|
- !ruby/object:Gem::Version
|
|
536
535
|
version: '0'
|
|
537
536
|
requirements: []
|
|
538
|
-
rubygems_version: 4.0.
|
|
537
|
+
rubygems_version: 4.0.10
|
|
539
538
|
specification_version: 4
|
|
540
539
|
summary: "\U0001F510 OAuth 2.0, 2.1 & OIDC Core Ruby implementation"
|
|
541
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.
|