oauth2 2.0.20 → 2.0.23
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 +109 -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 +111 -0
- data/README.md +245 -674
- data/RUBOCOP.md +0 -0
- data/SECURITY.md +1 -4
- data/certs/pboling.pem +27 -0
- data/lib/oauth2/access_token.rb +23 -17
- data/lib/oauth2/auth_sanitizer.rb +3 -3
- data/lib/oauth2/authenticator.rb +0 -0
- data/lib/oauth2/client.rb +73 -24
- data/lib/oauth2/error.rb +8 -6
- data/lib/oauth2/filtered_attributes.rb +0 -0
- data/lib/oauth2/response.rb +16 -12
- 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 +106 -117
- 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,12 +1,10 @@
|
|
|
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.23
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
- Peter Boling
|
|
8
|
-
- Erik Michaels-Ober
|
|
9
|
-
- Michael Bleigh
|
|
7
|
+
- Peter H. Boling
|
|
10
8
|
bindir: exe
|
|
11
9
|
cert_chain:
|
|
12
10
|
- |
|
|
@@ -45,20 +43,20 @@ dependencies:
|
|
|
45
43
|
requirements:
|
|
46
44
|
- - "~>"
|
|
47
45
|
- !ruby/object:Gem::Version
|
|
48
|
-
version: '0.
|
|
46
|
+
version: '0.2'
|
|
49
47
|
- - ">="
|
|
50
48
|
- !ruby/object:Gem::Version
|
|
51
|
-
version: 0.1
|
|
49
|
+
version: 0.2.1
|
|
52
50
|
type: :runtime
|
|
53
51
|
prerelease: false
|
|
54
52
|
version_requirements: !ruby/object:Gem::Requirement
|
|
55
53
|
requirements:
|
|
56
54
|
- - "~>"
|
|
57
55
|
- !ruby/object:Gem::Version
|
|
58
|
-
version: '0.
|
|
56
|
+
version: '0.2'
|
|
59
57
|
- - ">="
|
|
60
58
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.1
|
|
59
|
+
version: 0.2.1
|
|
62
60
|
- !ruby/object:Gem::Dependency
|
|
63
61
|
name: faraday
|
|
64
62
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -156,7 +154,7 @@ dependencies:
|
|
|
156
154
|
version: '2.0'
|
|
157
155
|
- - ">="
|
|
158
156
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: 2.0.
|
|
157
|
+
version: 2.0.6
|
|
160
158
|
type: :runtime
|
|
161
159
|
prerelease: false
|
|
162
160
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -166,7 +164,7 @@ dependencies:
|
|
|
166
164
|
version: '2.0'
|
|
167
165
|
- - ">="
|
|
168
166
|
- !ruby/object:Gem::Version
|
|
169
|
-
version: 2.0.
|
|
167
|
+
version: 2.0.6
|
|
170
168
|
- !ruby/object:Gem::Dependency
|
|
171
169
|
name: version_gem
|
|
172
170
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -176,7 +174,7 @@ dependencies:
|
|
|
176
174
|
version: '1.1'
|
|
177
175
|
- - ">="
|
|
178
176
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: 1.1.
|
|
177
|
+
version: 1.1.11
|
|
180
178
|
type: :runtime
|
|
181
179
|
prerelease: false
|
|
182
180
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -186,145 +184,151 @@ dependencies:
|
|
|
186
184
|
version: '1.1'
|
|
187
185
|
- - ">="
|
|
188
186
|
- !ruby/object:Gem::Version
|
|
189
|
-
version: 1.1.
|
|
187
|
+
version: 1.1.11
|
|
190
188
|
- !ruby/object:Gem::Dependency
|
|
191
|
-
name:
|
|
189
|
+
name: kettle-dev
|
|
192
190
|
requirement: !ruby/object:Gem::Requirement
|
|
193
191
|
requirements:
|
|
194
192
|
- - "~>"
|
|
195
193
|
- !ruby/object:Gem::Version
|
|
196
|
-
version: '2.
|
|
194
|
+
version: '2.2'
|
|
197
195
|
- - ">="
|
|
198
196
|
- !ruby/object:Gem::Version
|
|
199
|
-
version: 2.
|
|
197
|
+
version: 2.2.5
|
|
200
198
|
type: :development
|
|
201
199
|
prerelease: false
|
|
202
200
|
version_requirements: !ruby/object:Gem::Requirement
|
|
203
201
|
requirements:
|
|
204
202
|
- - "~>"
|
|
205
203
|
- !ruby/object:Gem::Version
|
|
206
|
-
version: '2.
|
|
204
|
+
version: '2.2'
|
|
207
205
|
- - ">="
|
|
208
206
|
- !ruby/object:Gem::Version
|
|
209
|
-
version: 2.
|
|
207
|
+
version: 2.2.5
|
|
210
208
|
- !ruby/object:Gem::Dependency
|
|
211
|
-
name:
|
|
209
|
+
name: bundler-audit
|
|
212
210
|
requirement: !ruby/object:Gem::Requirement
|
|
213
211
|
requirements:
|
|
214
212
|
- - "~>"
|
|
215
213
|
- !ruby/object:Gem::Version
|
|
216
|
-
version:
|
|
214
|
+
version: 0.9.3
|
|
217
215
|
type: :development
|
|
218
216
|
prerelease: false
|
|
219
217
|
version_requirements: !ruby/object:Gem::Requirement
|
|
220
218
|
requirements:
|
|
221
219
|
- - "~>"
|
|
222
220
|
- !ruby/object:Gem::Version
|
|
223
|
-
version:
|
|
221
|
+
version: 0.9.3
|
|
224
222
|
- !ruby/object:Gem::Dependency
|
|
225
|
-
name:
|
|
223
|
+
name: rake
|
|
226
224
|
requirement: !ruby/object:Gem::Requirement
|
|
227
225
|
requirements:
|
|
228
226
|
- - "~>"
|
|
229
227
|
- !ruby/object:Gem::Version
|
|
230
|
-
version: '
|
|
231
|
-
- - ">="
|
|
232
|
-
- !ruby/object:Gem::Version
|
|
233
|
-
version: 3.2.5
|
|
228
|
+
version: '13.0'
|
|
234
229
|
type: :development
|
|
235
230
|
prerelease: false
|
|
236
231
|
version_requirements: !ruby/object:Gem::Requirement
|
|
237
232
|
requirements:
|
|
238
233
|
- - "~>"
|
|
239
234
|
- !ruby/object:Gem::Version
|
|
240
|
-
version: '
|
|
241
|
-
- - ">="
|
|
242
|
-
- !ruby/object:Gem::Version
|
|
243
|
-
version: 3.2.5
|
|
235
|
+
version: '13.0'
|
|
244
236
|
- !ruby/object:Gem::Dependency
|
|
245
|
-
name:
|
|
237
|
+
name: require_bench
|
|
246
238
|
requirement: !ruby/object:Gem::Requirement
|
|
247
239
|
requirements:
|
|
248
240
|
- - "~>"
|
|
249
241
|
- !ruby/object:Gem::Version
|
|
250
|
-
version: '
|
|
242
|
+
version: '1.0'
|
|
243
|
+
- - ">="
|
|
244
|
+
- !ruby/object:Gem::Version
|
|
245
|
+
version: 1.0.4
|
|
251
246
|
type: :development
|
|
252
247
|
prerelease: false
|
|
253
248
|
version_requirements: !ruby/object:Gem::Requirement
|
|
254
249
|
requirements:
|
|
255
250
|
- - "~>"
|
|
256
251
|
- !ruby/object:Gem::Version
|
|
257
|
-
version: '
|
|
252
|
+
version: '1.0'
|
|
253
|
+
- - ">="
|
|
254
|
+
- !ruby/object:Gem::Version
|
|
255
|
+
version: 1.0.4
|
|
258
256
|
- !ruby/object:Gem::Dependency
|
|
259
|
-
name:
|
|
257
|
+
name: appraisal2
|
|
260
258
|
requirement: !ruby/object:Gem::Requirement
|
|
261
259
|
requirements:
|
|
262
260
|
- - "~>"
|
|
263
261
|
- !ruby/object:Gem::Version
|
|
264
|
-
version:
|
|
262
|
+
version: '3.1'
|
|
263
|
+
- - ">="
|
|
264
|
+
- !ruby/object:Gem::Version
|
|
265
|
+
version: 3.1.2
|
|
265
266
|
type: :development
|
|
266
267
|
prerelease: false
|
|
267
268
|
version_requirements: !ruby/object:Gem::Requirement
|
|
268
269
|
requirements:
|
|
269
270
|
- - "~>"
|
|
270
271
|
- !ruby/object:Gem::Version
|
|
271
|
-
version:
|
|
272
|
+
version: '3.1'
|
|
273
|
+
- - ">="
|
|
274
|
+
- !ruby/object:Gem::Version
|
|
275
|
+
version: 3.1.2
|
|
272
276
|
- !ruby/object:Gem::Dependency
|
|
273
|
-
name:
|
|
277
|
+
name: kettle-test
|
|
274
278
|
requirement: !ruby/object:Gem::Requirement
|
|
275
279
|
requirements:
|
|
276
280
|
- - "~>"
|
|
277
281
|
- !ruby/object:Gem::Version
|
|
278
|
-
version: '
|
|
282
|
+
version: '2.0'
|
|
283
|
+
- - ">="
|
|
284
|
+
- !ruby/object:Gem::Version
|
|
285
|
+
version: 2.0.5
|
|
279
286
|
type: :development
|
|
280
287
|
prerelease: false
|
|
281
288
|
version_requirements: !ruby/object:Gem::Requirement
|
|
282
289
|
requirements:
|
|
283
290
|
- - "~>"
|
|
284
291
|
- !ruby/object:Gem::Version
|
|
285
|
-
version: '
|
|
292
|
+
version: '2.0'
|
|
293
|
+
- - ">="
|
|
294
|
+
- !ruby/object:Gem::Version
|
|
295
|
+
version: 2.0.5
|
|
286
296
|
- !ruby/object:Gem::Dependency
|
|
287
|
-
name:
|
|
297
|
+
name: turbo_tests2
|
|
288
298
|
requirement: !ruby/object:Gem::Requirement
|
|
289
299
|
requirements:
|
|
290
300
|
- - "~>"
|
|
291
301
|
- !ruby/object:Gem::Version
|
|
292
|
-
version: '1
|
|
302
|
+
version: '3.1'
|
|
293
303
|
- - ">="
|
|
294
304
|
- !ruby/object:Gem::Version
|
|
295
|
-
version: 1.
|
|
305
|
+
version: 3.1.2
|
|
296
306
|
type: :development
|
|
297
307
|
prerelease: false
|
|
298
308
|
version_requirements: !ruby/object:Gem::Requirement
|
|
299
309
|
requirements:
|
|
300
310
|
- - "~>"
|
|
301
311
|
- !ruby/object:Gem::Version
|
|
302
|
-
version: '1
|
|
312
|
+
version: '3.1'
|
|
303
313
|
- - ">="
|
|
304
314
|
- !ruby/object:Gem::Version
|
|
305
|
-
version: 1.
|
|
315
|
+
version: 3.1.2
|
|
306
316
|
- !ruby/object:Gem::Dependency
|
|
307
|
-
name:
|
|
317
|
+
name: ruby-progressbar
|
|
308
318
|
requirement: !ruby/object:Gem::Requirement
|
|
309
319
|
requirements:
|
|
310
320
|
- - "~>"
|
|
311
321
|
- !ruby/object:Gem::Version
|
|
312
|
-
version: '
|
|
313
|
-
- - ">="
|
|
314
|
-
- !ruby/object:Gem::Version
|
|
315
|
-
version: 3.0.6
|
|
322
|
+
version: '1.13'
|
|
316
323
|
type: :development
|
|
317
324
|
prerelease: false
|
|
318
325
|
version_requirements: !ruby/object:Gem::Requirement
|
|
319
326
|
requirements:
|
|
320
327
|
- - "~>"
|
|
321
328
|
- !ruby/object:Gem::Version
|
|
322
|
-
version: '
|
|
323
|
-
- - ">="
|
|
324
|
-
- !ruby/object:Gem::Version
|
|
325
|
-
version: 3.0.6
|
|
329
|
+
version: '1.13'
|
|
326
330
|
- !ruby/object:Gem::Dependency
|
|
327
|
-
name:
|
|
331
|
+
name: stone_checksums
|
|
328
332
|
requirement: !ruby/object:Gem::Requirement
|
|
329
333
|
requirements:
|
|
330
334
|
- - "~>"
|
|
@@ -332,7 +336,7 @@ dependencies:
|
|
|
332
336
|
version: '1.0'
|
|
333
337
|
- - ">="
|
|
334
338
|
- !ruby/object:Gem::Version
|
|
335
|
-
version: 1.0.
|
|
339
|
+
version: 1.0.3
|
|
336
340
|
type: :development
|
|
337
341
|
prerelease: false
|
|
338
342
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -342,86 +346,105 @@ dependencies:
|
|
|
342
346
|
version: '1.0'
|
|
343
347
|
- - ">="
|
|
344
348
|
- !ruby/object:Gem::Version
|
|
345
|
-
version: 1.0.
|
|
349
|
+
version: 1.0.3
|
|
346
350
|
- !ruby/object:Gem::Dependency
|
|
347
|
-
name:
|
|
351
|
+
name: gitmoji-regex
|
|
348
352
|
requirement: !ruby/object:Gem::Requirement
|
|
349
353
|
requirements:
|
|
350
354
|
- - "~>"
|
|
351
355
|
- !ruby/object:Gem::Version
|
|
352
|
-
version: '
|
|
356
|
+
version: '2.0'
|
|
357
|
+
- - ">="
|
|
358
|
+
- !ruby/object:Gem::Version
|
|
359
|
+
version: 2.0.1
|
|
353
360
|
type: :development
|
|
354
361
|
prerelease: false
|
|
355
362
|
version_requirements: !ruby/object:Gem::Requirement
|
|
356
363
|
requirements:
|
|
357
364
|
- - "~>"
|
|
358
365
|
- !ruby/object:Gem::Version
|
|
359
|
-
version: '
|
|
366
|
+
version: '2.0'
|
|
367
|
+
- - ">="
|
|
368
|
+
- !ruby/object:Gem::Version
|
|
369
|
+
version: 2.0.1
|
|
360
370
|
- !ruby/object:Gem::Dependency
|
|
361
|
-
name:
|
|
371
|
+
name: addressable
|
|
362
372
|
requirement: !ruby/object:Gem::Requirement
|
|
363
373
|
requirements:
|
|
364
374
|
- - "~>"
|
|
365
375
|
- !ruby/object:Gem::Version
|
|
366
|
-
version: '
|
|
376
|
+
version: '2.8'
|
|
367
377
|
- - ">="
|
|
368
378
|
- !ruby/object:Gem::Version
|
|
369
|
-
version:
|
|
379
|
+
version: 2.8.7
|
|
370
380
|
type: :development
|
|
371
381
|
prerelease: false
|
|
372
382
|
version_requirements: !ruby/object:Gem::Requirement
|
|
373
383
|
requirements:
|
|
374
384
|
- - "~>"
|
|
375
385
|
- !ruby/object:Gem::Version
|
|
376
|
-
version: '
|
|
386
|
+
version: '2.8'
|
|
377
387
|
- - ">="
|
|
378
388
|
- !ruby/object:Gem::Version
|
|
379
|
-
version:
|
|
389
|
+
version: 2.8.7
|
|
380
390
|
- !ruby/object:Gem::Dependency
|
|
381
|
-
name:
|
|
391
|
+
name: backports
|
|
382
392
|
requirement: !ruby/object:Gem::Requirement
|
|
383
393
|
requirements:
|
|
384
394
|
- - "~>"
|
|
385
395
|
- !ruby/object:Gem::Version
|
|
386
|
-
version: '
|
|
396
|
+
version: '3.25'
|
|
387
397
|
- - ">="
|
|
388
398
|
- !ruby/object:Gem::Version
|
|
389
|
-
version:
|
|
399
|
+
version: 3.25.1
|
|
390
400
|
type: :development
|
|
391
401
|
prerelease: false
|
|
392
402
|
version_requirements: !ruby/object:Gem::Requirement
|
|
393
403
|
requirements:
|
|
394
404
|
- - "~>"
|
|
395
405
|
- !ruby/object:Gem::Version
|
|
396
|
-
version: '
|
|
406
|
+
version: '3.25'
|
|
397
407
|
- - ">="
|
|
398
408
|
- !ruby/object:Gem::Version
|
|
399
|
-
version:
|
|
409
|
+
version: 3.25.1
|
|
400
410
|
- !ruby/object:Gem::Dependency
|
|
401
|
-
name:
|
|
411
|
+
name: nkf
|
|
402
412
|
requirement: !ruby/object:Gem::Requirement
|
|
403
413
|
requirements:
|
|
404
414
|
- - "~>"
|
|
405
415
|
- !ruby/object:Gem::Version
|
|
406
|
-
version: '
|
|
416
|
+
version: '0.2'
|
|
417
|
+
type: :development
|
|
418
|
+
prerelease: false
|
|
419
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
420
|
+
requirements:
|
|
421
|
+
- - "~>"
|
|
422
|
+
- !ruby/object:Gem::Version
|
|
423
|
+
version: '0.2'
|
|
424
|
+
- !ruby/object:Gem::Dependency
|
|
425
|
+
name: rexml
|
|
426
|
+
requirement: !ruby/object:Gem::Requirement
|
|
427
|
+
requirements:
|
|
428
|
+
- - "~>"
|
|
429
|
+
- !ruby/object:Gem::Version
|
|
430
|
+
version: '3.2'
|
|
407
431
|
- - ">="
|
|
408
432
|
- !ruby/object:Gem::Version
|
|
409
|
-
version: 3.
|
|
433
|
+
version: 3.2.5
|
|
410
434
|
type: :development
|
|
411
435
|
prerelease: false
|
|
412
436
|
version_requirements: !ruby/object:Gem::Requirement
|
|
413
437
|
requirements:
|
|
414
438
|
- - "~>"
|
|
415
439
|
- !ruby/object:Gem::Version
|
|
416
|
-
version: '3.
|
|
440
|
+
version: '3.2'
|
|
417
441
|
- - ">="
|
|
418
442
|
- !ruby/object:Gem::Version
|
|
419
|
-
version: 3.
|
|
443
|
+
version: 3.2.5
|
|
420
444
|
description: "\U0001F510 A Ruby wrapper for the OAuth 2.0 Authorization Framework,
|
|
421
445
|
including the OAuth 2.1 draft spec, and OpenID Connect (OIDC)"
|
|
422
446
|
email:
|
|
423
447
|
- floss@galtzo.com
|
|
424
|
-
- oauth-ruby@googlegroups.com
|
|
425
448
|
executables: []
|
|
426
449
|
extensions: []
|
|
427
450
|
extra_rdoc_files:
|
|
@@ -430,28 +453,21 @@ extra_rdoc_files:
|
|
|
430
453
|
- CODE_OF_CONDUCT.md
|
|
431
454
|
- CONTRIBUTING.md
|
|
432
455
|
- FUNDING.md
|
|
433
|
-
-
|
|
434
|
-
- LICENSE.txt
|
|
435
|
-
- OIDC.md
|
|
456
|
+
- LICENSE.md
|
|
436
457
|
- README.md
|
|
437
|
-
- REEK
|
|
438
458
|
- RUBOCOP.md
|
|
439
459
|
- SECURITY.md
|
|
440
|
-
- THREAT_MODEL.md
|
|
441
460
|
files:
|
|
442
461
|
- CHANGELOG.md
|
|
443
462
|
- CITATION.cff
|
|
444
463
|
- CODE_OF_CONDUCT.md
|
|
445
464
|
- CONTRIBUTING.md
|
|
446
465
|
- FUNDING.md
|
|
447
|
-
-
|
|
448
|
-
- LICENSE.txt
|
|
449
|
-
- OIDC.md
|
|
466
|
+
- LICENSE.md
|
|
450
467
|
- README.md
|
|
451
|
-
- REEK
|
|
452
468
|
- RUBOCOP.md
|
|
453
469
|
- SECURITY.md
|
|
454
|
-
-
|
|
470
|
+
- certs/pboling.pem
|
|
455
471
|
- lib/oauth2.rb
|
|
456
472
|
- lib/oauth2/access_token.rb
|
|
457
473
|
- lib/oauth2/auth_sanitizer.rb
|
|
@@ -482,43 +498,16 @@ homepage: https://github.com/ruby-oauth/oauth2
|
|
|
482
498
|
licenses:
|
|
483
499
|
- MIT
|
|
484
500
|
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.
|
|
501
|
+
homepage_uri: https://oauth2.galtzo.com
|
|
502
|
+
source_code_uri: https://github.com/ruby-oauth/oauth2/tree/v2.0.23
|
|
503
|
+
changelog_uri: https://github.com/ruby-oauth/oauth2/blob/v2.0.23/CHANGELOG.md
|
|
488
504
|
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
|
|
505
|
+
documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.23
|
|
491
506
|
funding_uri: https://github.com/sponsors/pboling
|
|
492
|
-
wiki_uri: https://
|
|
507
|
+
wiki_uri: https://github.com/ruby-oauth/oauth2/wiki
|
|
493
508
|
news_uri: https://www.railsbling.com/tags/oauth2
|
|
494
509
|
discord_uri: https://discord.gg/3qme4XHNKN
|
|
495
510
|
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
511
|
rdoc_options:
|
|
523
512
|
- "--title"
|
|
524
513
|
- "oauth2 - \U0001F510 OAuth 2.0, 2.1 & OIDC Core Ruby implementation"
|
|
@@ -542,7 +531,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
542
531
|
- !ruby/object:Gem::Version
|
|
543
532
|
version: '0'
|
|
544
533
|
requirements: []
|
|
545
|
-
rubygems_version: 4.0.
|
|
534
|
+
rubygems_version: 4.0.10
|
|
546
535
|
specification_version: 4
|
|
547
536
|
summary: "\U0001F510 OAuth 2.0, 2.1 & OIDC Core Ruby implementation"
|
|
548
537
|
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.
|