oauth2 2.0.15 → 2.0.17

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 340909e9eea17737a90fc8c0604368bb883d214940dca855b37d029553650a6a
4
- data.tar.gz: 9c2892b5a9c5a80bfcc71708144a66286c22a179a13dcc5e3acdc571bac89710
3
+ metadata.gz: 658392d3b9b32646f33f3e35ac1b72a2a70e59ea9191064dd62efe36ba427cba
4
+ data.tar.gz: 135eb537e72639a92f68af58a953e8e2b6d9d204b8f5d34259e91021b47deba0
5
5
  SHA512:
6
- metadata.gz: bef9daa3bfb90c12b8b13a2b812fc7791aaab6fe88ffdb87d93924d0908489bf7bbe36db47b1be7c6033cddb8c78b82766c4df6ae4871043c0a0fd96be9c1150
7
- data.tar.gz: 9fe20ddb2b737be25a8322f762f6f15a4894333c56b4a27c58328af885abbdf71723a305bb94b6aeda8d744640373d9ef6f2ab09dbb6a6100e2b653095c73ca4
6
+ metadata.gz: 9459b77a1c8f828a844b8884eb9ccaddf8cb6a3ba76840c3ea8a49eeb0c5f57b7b2f4ffd48f4cda50b645d0461b0eb24d433327d18a49560cf1f45e0c3db08a9
7
+ data.tar.gz: d3fdc9f9748c3e1249de2fd5c17336e663abed93d93db25dcd8e81e04241d749cb5c765c5653d08e94f53ff7f1cf9de5dd0cd65f6cf03af851d9f74c0d7fe845
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -17,19 +17,69 @@ Please file a bug if you notice a violation of semantic versioning.
17
17
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
18
18
 
19
19
  ## [Unreleased]
20
+
20
21
  ### Added
22
+
21
23
  ### Changed
24
+
22
25
  ### Deprecated
26
+
23
27
  ### Removed
28
+
24
29
  ### Fixed
30
+
25
31
  ### Security
26
32
 
33
+ ## [2.0.17] - 2025-09-15
34
+
35
+ - TAG: [v2.0.17][2.0.17t]
36
+ - COVERAGE: 100.00% -- 526/526 lines in 14 files
37
+ - BRANCH COVERAGE: 100.00% -- 178/178 branches in 14 files
38
+ - 90.48% documented
39
+
40
+ ### Added
41
+
42
+ - [gh!682][gh!682] - AccessToken: support Hash-based verb-dependent token transmission mode (e.g., {get: :query, post: :header})
43
+
44
+ ## [2.0.16] - 2025-09-14
45
+
46
+ - TAG: [v2.0.16][2.0.16t]
47
+ - COVERAGE: 100.00% -- 520/520 lines in 14 files
48
+ - BRANCH COVERAGE: 100.00% -- 176/176 branches in 14 files
49
+ - 90.48% documented
50
+
51
+ ### Added
52
+
53
+ - [gh!680][gh!680] - E2E example using mock test server added in v2.0.11 by @pboling
54
+ - mock-oauth2-server upgraded to v2.3.0
55
+ - https://github.com/navikt/mock-oauth2-server
56
+ - `docker compose -f docker-compose-ssl.yml up -d --wait`
57
+ - `ruby examples/e2e.rb`
58
+ - `docker compose -f docker-compose-ssl.yml down`
59
+ - mock server readiness wait is 90s
60
+ - override via E2E_WAIT_TIMEOUT
61
+ - [gh!676][gh!676], [gh!679][gh!679] - Apache SkyWalking Eyes dependency license check by @pboling
62
+
63
+ ### Changed
64
+
65
+ - [gh!678][gh!678] - Many improvements to make CI more resilient (past/future proof) by @pboling
66
+ - [gh!681][gh!681] - Upgrade to kettle-dev v1.1.19
67
+
68
+ [gh!676]: https://github.com/ruby-oauth/oauth2/pull/676
69
+ [gh!678]: https://github.com/ruby-oauth/oauth2/pull/678
70
+ [gh!679]: https://github.com/ruby-oauth/oauth2/pull/679
71
+ [gh!680]: https://github.com/ruby-oauth/oauth2/pull/680
72
+ [gh!681]: https://github.com/ruby-oauth/oauth2/pull/681
73
+
27
74
  ## [2.0.15] - 2025-09-08
75
+
28
76
  - TAG: [v2.0.15][2.0.15t]
29
77
  - COVERAGE: 100.00% -- 519/519 lines in 14 files
30
78
  - BRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files
31
79
  - 90.48% documented
80
+
32
81
  ### Added
82
+
33
83
  - [gh!671][gh!671] - Complete documentation example for Instagram by @pboling
34
84
  - .env.local.example for contributor happiness
35
85
  - note lack of builds for JRuby 9.2, 9.3 & Truffleruby 22.3, 23.0
@@ -37,12 +87,15 @@ Please file a bug if you notice a violation of semantic versioning.
37
87
  - [community/discussions/15452][GHA-allow-failure]
38
88
  - [gh!670][gh!670] - AccessToken: verb-dependent token transmission mode by @mrj
39
89
  - e.g., Instagram GET=:query, POST/DELETE=:header
90
+
40
91
  ### Changed
92
+
41
93
  - [gh!669][gh!669] - Upgrade to kettle-dev v1.1.9 by @pboling
94
+
42
95
  ### Fixed
96
+
43
97
  - Remove accidentally duplicated lines, and fix typos in CHANGELOG.md
44
98
  - point badge to the correct workflow for Ruby 2.3 (caboose.yml)
45
- ### Security
46
99
 
47
100
  [gh!669]: https://github.com/ruby-oauth/oauth2/pull/669
48
101
  [gh!670]: https://github.com/ruby-oauth/oauth2/pull/670
@@ -51,11 +104,14 @@ Please file a bug if you notice a violation of semantic versioning.
51
104
  [GHA-allow-failure]: https://github.com/orgs/community/discussions/15452
52
105
 
53
106
  ## [2.0.14] - 2025-08-31
107
+
54
108
  - TAG: [v2.0.14][2.0.14t]
55
109
  - COVERAGE: 100.00% -- 519/519 lines in 14 files
56
110
  - BRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files
57
111
  - 90.48% documented
112
+
58
113
  ### Added
114
+
59
115
  - improved documentation by @pboling
60
116
  - [gh!665][gh!665] - Document Mutual TLS (mTLS) usage with example in README (connection_opts.ssl client_cert/client_key and auth_scheme: :tls_client_auth) by @pboling
61
117
  - [gh!666][gh!666] - Document usage of flat query params using Faraday::FlatParamsEncoder, with example URI, in README by @pboling
@@ -78,11 +134,14 @@ Please file a bug if you notice a violation of semantic versioning.
78
134
  [gh!666]: https://github.com/ruby-oauth/oauth2/pull/666
79
135
 
80
136
  ## [2.0.13] - 2025-08-30
137
+
81
138
  - TAG: [v2.0.13][2.0.13t]
82
139
  - COVERAGE: 100.00% -- 519/519 lines in 14 files
83
140
  - BRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files
84
141
  - 90.48% documented
142
+
85
143
  ### Added
144
+
86
145
  - [gh!656][gh!656] - Support revocation with URL-encoded parameters
87
146
  - [gh!660][gh!660] - Inline yard documentation by @pboling
88
147
  - [gh!660][gh!660] - Complete RBS types documentation by @pboling
@@ -90,11 +149,16 @@ Please file a bug if you notice a violation of semantic versioning.
90
149
  - [gh!657][gh!657] - Updated documentation for org-rename by @pboling
91
150
  - More funding links by @Aboling0
92
151
  - Documentation: Added docs/OIDC.md with OIDC 1.0 overview, example, and references
152
+
93
153
  ### Changed
154
+
94
155
  - Upgrade Code of Conduct to Contributor Covenant 2.1 by @pboling
95
156
  - [gh!660][gh!660] - Shrink post-install message by 4 lines by @pboling
157
+
96
158
  ### Fixed
159
+
97
160
  - [gh!660][gh!660] - Links in README (including link to HEAD documentation) by @pboling
161
+
98
162
  ### Security
99
163
 
100
164
  [gh!660]: https://github.com/ruby-oauth/oauth2/pull/660
@@ -102,31 +166,40 @@ Please file a bug if you notice a violation of semantic versioning.
102
166
  [gh!656]: https://github.com/ruby-oauth/oauth2/pull/656
103
167
 
104
168
  ## [2.0.12] - 2025-05-31
169
+
105
170
  - TAG: [v2.0.12][2.0.12t]
106
171
  - Line Coverage: 100.0% (520 / 520)
107
172
  - Branch Coverage: 100.0% (174 / 174)
108
173
  - 80.00% documented
174
+
109
175
  ### Added
176
+
110
177
  - [gh!652][gh!652] - Support IETF rfc7515 JSON Web Signature - JWS by @mridang
111
178
  - Support JWT `kid` for key discovery and management
112
179
  - More Documentation by @pboling
113
180
  - Documented Serialization Extensions
114
181
  - Added Gatzo.com FLOSS logo by @Aboling0, CC BY-SA 4.0
115
182
  - Documentation site @ https://oauth2.galtzo.com now complete
183
+
116
184
  ### Changed
185
+
117
186
  - Updates to gemspec (email, funding url, post install message)
187
+
118
188
  ### Fixed
119
- - Documentation Typos by @pboling
120
189
 
190
+ - Documentation Typos by @pboling
121
191
 
122
192
  [gh!652]: https://github.com/ruby-oauth/oauth2/pull/652
123
193
 
124
194
  ## [2.0.11] - 2025-05-23
195
+
125
196
  - TAG: [v2.0.11][2.0.11t]
126
197
  - COVERAGE: 100.00% -- 518/518 lines in 14 files
127
198
  - BRANCH COVERAGE: 100.00% -- 172/172 branches in 14 files
128
199
  - 80.00% documented
200
+
129
201
  ### Added
202
+
130
203
  - [gh!651](https://github.com/ruby-oauth/oauth2/pull/651) - `:snaky_hash_klass` option (@pboling)
131
204
  - More documentation
132
205
  - Codeberg as ethical mirror (@pboling)
@@ -140,20 +213,27 @@ Please file a bug if you notice a violation of semantic versioning.
140
213
  - [!649](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/649) - Test compatibility with all key minor versions of Hashie v0, v1, v2, v3, v4, v5, HEAD (@pboling)
141
214
  - [gh!651](https://github.com/ruby-oauth/oauth2/pull/651) - Mock OAuth2 server for testing (@pboling)
142
215
  - https://github.com/navikt/mock-oauth2-server
216
+
143
217
  ### Changed
218
+
144
219
  - [gh!651](https://github.com/ruby-oauth/oauth2/pull/651) - Upgraded to snaky_hash v2.0.3 (@pboling)
145
220
  - Provides solution for serialization issues
146
221
  - Updated `spec.homepage_uri` in gemspec to GitHub Pages YARD documentation site (@pboling)
222
+
147
223
  ### Fixed
224
+
148
225
  - [gh!650](https://github.com/ruby-oauth/oauth2/pull/650) - Regression in return type of `OAuth2::Response#parsed` (@pboling)
149
226
  - Incorrect documentation related to silencing warnings (@pboling)
150
227
 
151
228
  ## [2.0.10] - 2025-05-17
229
+
152
230
  - TAG: [v2.0.10][2.0.10t]
153
231
  - COVERAGE: 100.00% -- 518/518 lines in 14 files
154
232
  - BRANCH COVERAGE: 100.00% -- 170/170 branches in 14 files
155
233
  - 79.05% documented
234
+
156
235
  ### Added
236
+
157
237
  - [gh!632](https://github.com/ruby-oauth/oauth2/pull/632) - Added `funding.yml` (@Aboling0)
158
238
  - [!635](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/635) - Added `.gitlab-ci.yml` (@jessieay)
159
239
  - [#638](https://gitlab.com/ruby-oauth/oauth2/-/issues/638) - Documentation of support for **ILO Fundamental Principles of Rights at Work** (@pboling)
@@ -173,14 +253,18 @@ Please file a bug if you notice a violation of semantic versioning.
173
253
  - See: https://datatracker.ietf.org/doc/html/rfc7009
174
254
  - [gh!644](https://github.com/ruby-oauth/oauth2/pull/644), [gh!645](https://github.com/ruby-oauth/oauth2/pull/645) - Added CITATION.cff (@Aboling0)
175
255
  - [!648](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/648) - Improved documentation (@pboling)
256
+
176
257
  ### Changed
258
+
177
259
  - Default value of `OAuth2.config.silence_extra_tokens_warning` was `false`, now `true` (@pboling)
178
260
  - Gem releases are now cryptographically signed, with a 20-year cert (@pboling)
179
261
  - Allow linux distros to build release without signing, as their package managers sign independently
180
262
  - [!647](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/647) - `OAuth2::AccessToken#refresh` now supports block param pass through (@pboling)
181
263
  - [!647](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/647) - `OAuth2.config` is no longer writable (@pboling)
182
264
  - [!647](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/647) - Errors raised by `OAuth2::AccessToken` are now always `OAuth2::Error` and have better metadata (@pboling)
265
+
183
266
  ### Fixed
267
+
184
268
  - [#95](https://gitlab.com/ruby-oauth/oauth2/-/issues/95) - restoring an access token via `AccessToken#from_hash` (@pboling)
185
269
  - This was a 13 year old bug report. 😘
186
270
  - [#619](https://gitlab.com/ruby-oauth/oauth2/-/issues/619) - Internal options (like `snaky`, `raise_errors`, and `parse`) are no longer included in request (@pboling)
@@ -196,37 +280,58 @@ Please file a bug if you notice a violation of semantic versioning.
196
280
  - [gh!646](https://github.com/ruby-oauth/oauth2/pull/646) - Change `require` to `require_relative` (improve performance) (@Aboling0)
197
281
 
198
282
  ## [2.0.9] - 2022-09-16
283
+
199
284
  - TAG: [v2.0.9][2.0.9t]
285
+
200
286
  ### Added
287
+
201
288
  - More specs (@pboling)
289
+
202
290
  ### Changed
291
+
203
292
  - Complete migration to main branch as default (@pboling)
204
293
  - Complete migration to Gitlab, updating all links, and references in VCS-managed files (@pboling)
205
294
 
206
295
  ## [2.0.8] - 2022-09-01
296
+
207
297
  - TAG: [v2.0.8][2.0.8t]
298
+
208
299
  ### Changed
300
+
209
301
  - [!630](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/630) - Extract snaky_hash to external dependency (@pboling)
302
+
210
303
  ### Added
304
+
211
305
  - [!631](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/631) - New global configuration option OAuth2.config.silence_extra_tokens_warning (default: false) fixes [#628](https://gitlab.com/ruby-oauth/oauth2/-/issues/628)
212
306
 
213
307
  ## [2.0.7] - 2022-08-22
308
+
214
309
  - TAG: [v2.0.7][2.0.7t]
310
+
215
311
  ### Added
312
+
216
313
  - [!629](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/629) - Allow POST of JSON to get token (@pboling, @terracatta)
314
+
217
315
  ### Fixed
316
+
218
317
  - [!626](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/626) - Fixes a regression in 2.0.6. Will now prefer the key order from the lookup, not the hash keys (@rickselby)
219
318
  - Note: This fixes compatibility with `omniauth-oauth2` and AWS
220
319
  - [!625](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/625) - Fixes the printed version in the post install message (@hasghari)
221
320
 
222
321
  ## [2.0.6] - 2022-07-13
322
+
223
323
  - TAG: [v2.0.6][2.0.6t]
324
+
224
325
  ### Fixed
326
+
225
327
  - [!624](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/624) - Fixes a [regression](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/623) in v2.0.5, where an error would be raised in refresh_token flows due to (legitimate) lack of access_token (@pboling)
226
328
 
227
329
  ## [2.0.5] - 2022-07-07
330
+
228
331
  - TAG: [v2.0.5][2.0.5t]
332
+
229
333
  ### Fixed
334
+
230
335
  - [!620](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/620) - Documentation improvements, to help with upgrading (@swanson)
231
336
  - [!621](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/621) - Fixed [#528](https://gitlab.com/ruby-oauth/oauth2/-/issues/528) and [#619](https://gitlab.com/ruby-oauth/oauth2/-/issues/619) (@pboling)
232
337
  - All data in responses is now returned, with the access token removed and set as `token`
@@ -236,35 +341,52 @@ Please file a bug if you notice a violation of semantic versioning.
236
341
  - There is now 100% test coverage, for lines _and_ branches, and it will stay that way.
237
342
 
238
343
  ## [2.0.4] - 2022-07-01
344
+
239
345
  - TAG: [v2.0.4][2.0.4t]
346
+
240
347
  ### Fixed
348
+
241
349
  - [!618](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/618) - In some scenarios the `snaky` option default value was not applied (@pboling)
242
350
 
243
351
  ## [2.0.3] - 2022-06-28
352
+
244
353
  - TAG: [v2.0.3][2.0.3t]
354
+
245
355
  ### Added
356
+
246
357
  - [!611](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/611) - Proper deprecation warnings for `extract_access_token` argument (@pboling)
247
358
  - [!612](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/612) - Add `snaky: false` option to skip conversion to `OAuth2::SnakyHash` (default: true) (@pboling)
359
+
248
360
  ### Fixed
361
+
249
362
  - [!608](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/608) - Wrap `Faraday::TimeoutError` in `OAuth2::TimeoutError` (@nbibler)
250
363
  - [!615](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/615) - Fix support for requests with blocks, see `Faraday::Connection#run_request` (@pboling)
251
364
 
252
365
  ## [2.0.2] - 2022-06-24
366
+
253
367
  - TAG: [v2.0.2][2.0.2t]
368
+
254
369
  ### Fixed
370
+
255
371
  - [!604](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/604) - Wrap `Faraday::TimeoutError` in `OAuth2::TimeoutError` (@stanhu)
256
372
  - [!606](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/606) - Ruby 2.7 deprecation warning fix: Move `access_token_class` parameter into `Client` constructor (@stanhu)
257
373
  - [!607](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/607) - CHANGELOG correction, reference to `OAuth2::ConnectionError` (@zavan)
258
374
 
259
375
  ## [2.0.1] - 2022-06-22
376
+
260
377
  - TAG: [v2.0.1][2.0.1t]
378
+
261
379
  ### Added
380
+
262
381
  - Documentation improvements (@pboling)
263
382
  - Increased test coverage to 99% (@pboling)
264
383
 
265
384
  ## [2.0.0] - 2022-06-21
385
+
266
386
  - TAG: [v2.0.0][2.0.0t]
387
+
267
388
  ### Added
389
+
268
390
  - [!158](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/158), [!344](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/344) - Optionally pass raw response to parsers (@niels)
269
391
  - [!190](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/190), [!332](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/332), [!334](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/334), [!335](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/335), [!360](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/360), [!426](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/426), [!427](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/427), [!461](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/461) - Documentation (@josephpage, @pboling, @meganemura, @joshRpowell, @elliotcm)
270
392
  - [!220](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/220) - Support IETF rfc7523 JWT Bearer Tokens Draft 04+ (@jhmoore)
@@ -291,7 +413,9 @@ Please file a bug if you notice a violation of semantic versioning.
291
413
  - [!571](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/571) - Support Ruby 3.1 (@pboling)
292
414
  - [!575](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/575) - Support IETF rfc7231, section 7.1.2 - relative location in redirect (@pboling)
293
415
  - [!581](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/581) - _Documentation_: of breaking changes (@pboling)
416
+
294
417
  ### Changed
418
+
295
419
  - [!191](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/191) - **BREAKING**: Token is expired if `expired_at` time is `now` (@davestevens)
296
420
  - [!312](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/312) - **BREAKING**: Set `:basic_auth` as default for `:auth_scheme` instead of `:request_body`. This was default behavior before 1.3.0. (@tetsuya, @wy193777)
297
421
  - [!317](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/317) - _Dependency_: Upgrade `jwt` to 2.x.x (@travisofthenorth)
@@ -307,7 +431,9 @@ Please file a bug if you notice a violation of semantic versioning.
307
431
  - As of version 2.0.4 you can turn key transformation off with the `snaky: false` option.
308
432
  - [!576](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/576) - **BREAKING**: Stop rescuing parsing errors (@pboling)
309
433
  - [!591](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/576) - _DEPRECATION_: `OAuth2::Client` - `:extract_access_token` option is deprecated
434
+
310
435
  ### Fixed
436
+
311
437
  - [!158](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/158), [!344](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/344) - Handling of errors when using `omniauth-facebook` (@niels)
312
438
  - [!294](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/294) - Fix: "Unexpected middleware set" issue with Faraday when `OAUTH_DEBUG=true` (@spectator, @gafrom)
313
439
  - [!300](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/300) - _Documentation_: `Oauth2::Error` - Error codes are strings, not symbols (@NobodysNightmare)
@@ -326,7 +452,9 @@ Please file a bug if you notice a violation of semantic versioning.
326
452
  - [!595](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/595) - Graceful handling of empty responses from `Client#get_token`, respecting `:raise_errors` config (@stanhu)
327
453
  - [!596](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/596) - Consistency between `AccessToken#refresh` and `Client#get_token` named arguments (@stanhu)
328
454
  - [!598](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/598) - Fix unparseable data not raised as error in `Client#get_token`, respecting `:raise_errors` config (@stanhu)
455
+
329
456
  ### Removed
457
+
330
458
  - [!341](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/341) - Remove Rdoc & Jeweler related files (@josephpage)
331
459
  - [!342](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/342) - **BREAKING**: Dropped support for Ruby 1.8 (@josephpage)
332
460
  - [!539](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/539) - Remove reliance on globally included OAuth2 in tests, analog of [!538](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/538) for 1-4-stable (@anderscarling)
@@ -335,15 +463,18 @@ Please file a bug if you notice a violation of semantic versioning.
335
463
  - [!590](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/590) - _Dependency_: Removed `multi_json` (@stanhu)
336
464
 
337
465
  ## [1.4.11] - 2022-09-16
466
+
338
467
  - TAG: [v1.4.11][1.4.11t]
339
468
  - Complete migration to main branch as default (@pboling)
340
469
  - Complete migration to Gitlab, updating all links, and references in VCS-managed files (@pboling)
341
470
 
342
471
  ## [1.4.10] - 2022-07-01
472
+
343
473
  - TAG: [v1.4.10][1.4.10t]
344
474
  - FIPS Compatibility [!587](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/587) (@akostadinov)
345
475
 
346
476
  ## [1.4.9] - 2022-02-20
477
+
347
478
  - TAG: [v1.4.9][1.4.9t]
348
479
  - Fixes compatibility with Faraday v2 [572](https://gitlab.com/ruby-oauth/oauth2/-/issues/572)
349
480
  - Includes supported versions of Faraday in test matrix:
@@ -353,6 +484,7 @@ Please file a bug if you notice a violation of semantic versioning.
353
484
  - Add Windows and MacOS to test matrix
354
485
 
355
486
  ## [1.4.8] - 2022-02-18
487
+
356
488
  - TAG: [v1.4.8][1.4.8t]
357
489
  - MFA is now required to push new gem versions (@pboling)
358
490
  - README overhaul w/ new Ruby Version and Engine compatibility policies (@pboling)
@@ -363,16 +495,19 @@ Please file a bug if you notice a violation of semantic versioning.
363
495
  - [!543](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/543) - Support for more modern Open SSL libraries (@pboling)
364
496
 
365
497
  ## [1.4.7] - 2021-03-19
498
+
366
499
  - TAG: [v1.4.7][1.4.7t]
367
500
  - [!541](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/541) - Backport fix to expires_at handling [!533](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/533) to 1-4-stable branch. (@dobon)
368
501
 
369
502
  ## [1.4.6] - 2021-03-19
503
+
370
504
  - TAG: [v1.4.6][1.4.6t]
371
505
  - [!540](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/540) - Add VERSION constant (@pboling)
372
506
  - [!537](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/537) - Fix crash in OAuth2::Client#get_token (@anderscarling)
373
507
  - [!538](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/538) - Remove reliance on globally included OAuth2 in tests, analogous to [!539](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/539) on main branch (@anderscarling)
374
508
 
375
509
  ## [1.4.5] - 2021-03-18
510
+
376
511
  - TAG: [v1.4.5][1.4.5t]
377
512
  - [!535](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/535) - Compatibility with range of supported Ruby OpenSSL versions, Rubocop updates, Github Actions, analogous to [!536](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/536) on main branch (@pboling)
378
513
  - [!518](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/518) - Add extract_access_token option to OAuth2::Client (@jonspalmer)
@@ -380,10 +515,12 @@ Please file a bug if you notice a violation of semantic versioning.
380
515
  - [!500](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/500) - Fix YARD documentation formatting (@olleolleolle)
381
516
 
382
517
  ## [1.4.4] - 2020-02-12
518
+
383
519
  - TAG: [v1.4.4][1.4.4t]
384
520
  - [!408](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/408) - Fixed expires_at for formatted time (@Lomey)
385
521
 
386
522
  ## [1.4.3] - 2020-01-29
523
+
387
524
  - TAG: [v1.4.3][1.4.3t]
388
525
  - [!483](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/483) - add project metadata to gemspec (@orien)
389
526
  - [!495](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/495) - support additional types of access token requests (@SteveyblamFreeagent, @thomcorley, @dgholz)
@@ -391,11 +528,13 @@ Please file a bug if you notice a violation of semantic versioning.
391
528
  - [!433](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/433) - allow field names with square brackets and numbers in params (@asm256)
392
529
 
393
530
  ## [1.4.2] - 2019-10-01
531
+
394
532
  - TAG: [v1.4.2][1.4.2t]
395
533
  - [!478](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/478) - support latest version of faraday & fix build (@pboling)
396
534
  - Officially support Ruby 2.6 and truffleruby
397
535
 
398
536
  ## [1.4.1] - 2018-10-13
537
+
399
538
  - TAG: [v1.4.1][1.4.1t]
400
539
  - [!417](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/417) - update jwt dependency (@thewoolleyman)
401
540
  - [!419](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/419) - remove rubocop dependency (temporary, added back in [!423](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/423)) (@pboling)
@@ -423,6 +562,7 @@ Please file a bug if you notice a violation of semantic versioning.
423
562
  [jruby-9.2]: https://www.jruby.org/2018/05/24/jruby-9-2-0-0.html
424
563
 
425
564
  ## [1.4.0] - 2017-06-09
565
+
426
566
  - TAG: [v1.4.0][1.4.0t]
427
567
  - Drop Ruby 1.8.7 support (@sferik)
428
568
  - Fix some RuboCop offenses (@sferik)
@@ -430,11 +570,13 @@ Please file a bug if you notice a violation of semantic versioning.
430
570
  - _Dependency_: Upgrade Faraday to 0.12 (@sferik)
431
571
 
432
572
  ## [1.3.1] - 2017-03-03
573
+
433
574
  - TAG: [v1.3.1][1.3.1t]
434
575
  - Add support for Ruby 2.4.0 (@pschambacher)
435
576
  - _Dependency_: Upgrade Faraday to Faraday 0.11 (@mcfiredrill, @rhymes, @pschambacher)
436
577
 
437
578
  ## [1.3.0] - 2016-12-28
579
+
438
580
  - TAG: [v1.3.0][1.3.0t]
439
581
  - Add support for header-based authentication to the `Client` so it can be used across the library (@bjeanes)
440
582
  - Default to header-based authentication when getting a token from an authorisation code (@maletor)
@@ -445,26 +587,36 @@ Please file a bug if you notice a violation of semantic versioning.
445
587
  - Add support for Faraday 0.10 (@rhymes)
446
588
 
447
589
  ## [1.2.0] - 2016-07-01
590
+
448
591
  - TAG: [v1.2.0][1.2.0t]
449
592
  - Properly handle encoding of error responses (so we don't blow up, for example, when Google's response includes a ∞) (@Motoshi-Nishihira)
450
593
  - Make a copy of the options hash in `AccessToken#from_hash` to avoid accidental mutations (@Linuus)
451
594
  - Use `raise` rather than `fail` to throw exceptions (@sferik)
452
595
 
453
596
  ## [1.1.0] - 2016-01-30
597
+
454
598
  - TAG: [v1.1.0][1.1.0t]
455
599
  - Various refactors (eliminating `Hash#merge!` usage in `AccessToken#refresh!`, use `yield` instead of `#call`, freezing mutable objects in constants, replacing constants with class variables) (@sferik)
456
600
  - Add support for Rack 2, and bump various other dependencies (@sferik)
457
601
 
458
602
  ## [1.0.0] - 2014-07-09
603
+
459
604
  - TAG: [v1.0.0][1.0.0t]
605
+
460
606
  ### Added
607
+
461
608
  - Add an implementation of the MAC token spec.
609
+
462
610
  ### Fixed
611
+
463
612
  - Fix Base64.strict_encode64 incompatibility with Ruby 1.8.7.
464
613
 
465
614
  ## [0.5.0] - 2011-07-29
615
+
466
616
  - TAG: [v0.5.0][0.5.0t]
617
+
467
618
  ### Changed
619
+
468
620
  - *breaking* `oauth_token` renamed to `oauth_bearer`.
469
621
  - *breaking* `authorize_path` Client option renamed to `authorize_url`.
470
622
  - *breaking* `access_token_path` Client option renamed to `token_url`.
@@ -472,65 +624,88 @@ Please file a bug if you notice a violation of semantic versioning.
472
624
  - *breaking* `web_server` renamed to `auth_code`.
473
625
 
474
626
  ## [0.4.1] - 2011-04-20
627
+
475
628
  - TAG: [v0.4.1][0.4.1t]
476
629
 
477
630
  ## [0.4.0] - 2011-04-20
631
+
478
632
  - TAG: [v0.4.0][0.4.0t]
479
633
 
480
634
  ## [0.3.0] - 2011-04-08
635
+
481
636
  - TAG: [v0.3.0][0.3.0t]
482
637
 
483
638
  ## [0.2.0] - 2011-04-01
639
+
484
640
  - TAG: [v0.2.0][0.2.0t]
485
641
 
486
642
  ## [0.1.1] - 2011-01-12
643
+
487
644
  - TAG: [v0.1.1][0.1.1t]
488
645
 
489
646
  ## [0.1.0] - 2010-10-13
647
+
490
648
  - TAG: [v0.1.0][0.1.0t]
491
649
 
492
650
  ## [0.0.13] - 2010-08-17
651
+
493
652
  - TAG: [v0.0.13][0.0.13t]
494
653
 
495
654
  ## [0.0.12] - 2010-08-17
655
+
496
656
  - TAG: [v0.0.12][0.0.12t]
497
657
 
498
658
  ## [0.0.11] - 2010-08-17
659
+
499
660
  - TAG: [v0.0.11][0.0.11t]
500
661
 
501
662
  ## [0.0.10] - 2010-06-19
663
+
502
664
  - TAG: [v0.0.10][0.0.10t]
503
665
 
504
666
  ## [0.0.9] - 2010-06-18
667
+
505
668
  - TAG: [v0.0.9][0.0.9t]
506
669
 
507
670
  ## [0.0.8] - 2010-04-27
671
+
508
672
  - TAG: [v0.0.8][0.0.8t]
509
673
 
510
674
  ## [0.0.7] - 2010-04-27
675
+
511
676
  - TAG: [v0.0.7][0.0.7t]
512
677
 
513
678
  ## [0.0.6] - 2010-04-25
679
+
514
680
  - TAG: [v0.0.6][0.0.6t]
515
681
 
516
682
  ## [0.0.5] - 2010-04-23
683
+
517
684
  - TAG: [v0.0.5][0.0.5t]
518
685
 
519
686
  ## [0.0.4] - 2010-04-22
687
+
520
688
  - TAG: [v0.0.4][0.0.4t]
521
689
 
522
690
  ## [0.0.3] - 2010-04-22
691
+
523
692
  - TAG: [v0.0.3][0.0.3t]
524
693
 
525
694
  ## [0.0.2] - 2010-04-22
695
+
526
696
  - TAG: [v0.0.2][0.0.2t]
527
697
 
528
698
  ## [0.0.1] - 2010-04-22
699
+
529
700
  - TAG: [v0.0.1][0.0.1t]
530
701
 
531
702
  [gemfiles/readme]: gemfiles/README.md
532
703
 
533
- [Unreleased]: https://github.com/ruby-oauth/oauth2/compare/v2.0.15...HEAD
704
+ [Unreleased]: https://github.com/ruby-oauth/oauth2/compare/v2.0.17...HEAD
705
+ [2.0.17]: https://github.com/ruby-oauth/oauth2/compare/v2.0.16...v2.0.17
706
+ [2.0.17t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.17
707
+ [2.0.16]: https://github.com/ruby-oauth/oauth2/compare/v2.0.15...v2.0.16
708
+ [2.0.16t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.16
534
709
  [2.0.15]: https://github.com/ruby-oauth/oauth2/compare/v2.0.14...v2.0.15
535
710
  [2.0.15t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.15
536
711
  [2.0.14]: https://github.com/ruby-oauth/oauth2/compare/v2.0.13...v2.0.14
data/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
  ⭐️ including OAuth 2.1 draft spec & OpenID Connect (OIDC)
13
13
 
14
- [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls] [![QLTY Test Coverage][🔑qlty-covi]][🔑qlty-cov] [![QLTY Maintainability][🔑qlty-mnti]][🔑qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Supported][🚎6-s-wfi]][🚎6-s-wf] [![CI Legacy][🚎4-lg-wfi]][🚎4-lg-wf] [![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf] [![CI Ancient][🚎1-an-wfi]][🚎1-an-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![CodeQL][🖐codeQL-img]][🖐codeQL]
14
+ [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![CodeCov Test Coverage][🔑codecovi]][🔑codecov] [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls] [![QLTY Test Coverage][🔑qlty-covi]][🔑qlty-cov] [![QLTY Maintainability][🔑qlty-mnti]][🔑qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Supported][🚎6-s-wfi]][🚎6-s-wf] [![CI Legacy][🚎4-lg-wfi]][🚎4-lg-wf] [![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf] [![CI Ancient][🚎1-an-wfi]][🚎1-an-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
15
15
 
16
16
  `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].
17
17
 
@@ -19,7 +19,7 @@
19
19
 
20
20
  `if ci_badges.map(&:color).all? { it == "green"}` 👇️ send money so I can do more of this. FLOSS maintenance is now my full-time job.
21
21
 
22
- [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
22
+ [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
23
23
 
24
24
  ## 🌻 Synopsis
25
25
 
@@ -28,7 +28,7 @@ OAuth 2.0 focuses on client developer simplicity while providing specific author
28
28
  desktop applications, mobile phones, and living room devices.
29
29
  This is a RubyGem for implementing OAuth 2.0 clients (not servers) in Ruby applications.
30
30
 
31
- ### Quick Example
31
+ ### Quick Examples
32
32
 
33
33
  <details>
34
34
  <summary>Convert the following `curl` command into a token request using this gem...</summary>
@@ -61,6 +61,61 @@ NOTE: `header` - The content type specified in the `curl` is already the default
61
61
 
62
62
  </details>
63
63
 
64
+ <details>
65
+ <summary>Complete E2E single file script against [navikt/mock-oauth2-server](https://github.com/navikt/mock-oauth2-server)</summary>
66
+
67
+ - E2E example using the mock test server added in v2.0.11
68
+
69
+ ```console
70
+ docker compose -f docker-compose-ssl.yml up -d --wait
71
+ ruby examples/e2e.rb
72
+ # If your machine is slow or Docker pulls are cold, increase the wait:
73
+ E2E_WAIT_TIMEOUT=120 ruby examples/e2e.rb
74
+ # The mock server serves HTTP on 8080; the example points to http://localhost:8080 by default.
75
+ ```
76
+
77
+ The output should be something like this:
78
+
79
+ ```console
80
+ ➜ ruby examples/e2e.rb
81
+ Access token (truncated): eyJraWQiOiJkZWZhdWx0...
82
+ userinfo status: 200
83
+ userinfo body: {"sub" => "demo-sub", "aud" => ["demo-aud"], "nbf" => 1757816758000, "iss" => "http://localhost:8080/default", "exp" => 1757820358000, "iat" => 1757816758000, "jti" => "d63b97a7-ebe5-4dea-93e6-d542caba6104"}
84
+ E2E complete
85
+ ```
86
+
87
+ Make sure to shut down the mock server when you are done:
88
+
89
+ ```console
90
+ docker compose -f docker-compose-ssl.yml down
91
+ ```
92
+
93
+ Troubleshooting: validate connectivity to the mock server
94
+
95
+ - Check container status and port mapping:
96
+ - docker compose -f docker-compose-ssl.yml ps
97
+ - From the host, try the discovery URL directly (this is what the example uses by default):
98
+ - curl -v http://localhost:8080/default/.well-known/openid-configuration
99
+ - If that fails immediately, also try: curl -v --connect-timeout 2 http://127.0.0.1:8080/default/.well-known/openid-configuration
100
+ - From inside the container (to distinguish container vs host networking):
101
+ - docker exec -it oauth2-mock-oauth2-server-1 curl -v http://127.0.0.1:8080/default/.well-known/openid-configuration
102
+ - Simple TCP probe from the host:
103
+ - nc -vz localhost 8080 # or: ruby -rsocket -e 'TCPSocket.new("localhost",8080).close; puts "tcp ok"'
104
+ - Inspect which host port 8080 is bound to (should be 8080):
105
+ - docker inspect -f '{{ (index (index .NetworkSettings.Ports "8080/tcp") 0).HostPort }}' oauth2-mock-oauth2-server-1
106
+ - Look at server logs for readiness/errors:
107
+ - docker logs -n 200 oauth2-mock-oauth2-server-1
108
+ - On Linux, ensure nothing else is bound to 8080 and that firewall/SELinux aren’t blocking:
109
+ - ss -ltnp | grep :8080
110
+
111
+ Notes
112
+ - Discovery URL pattern is: http://localhost:8080/<realm>/.well-known/openid-configuration, where <realm> defaults to "default".
113
+ - You can change these with env vars when running the example:
114
+ - E2E_ISSUER_BASE (default: http://localhost:8080)
115
+ - E2E_REALM (default: default)
116
+
117
+ </details>
118
+
64
119
  If it seems like you are in the wrong place, you might try one of these:
65
120
 
66
121
  * [OAuth 2.0 Spec][oauth2-spec]
@@ -73,19 +128,19 @@ If it seems like you are in the wrong place, you might try one of these:
73
128
 
74
129
  ## 💡 Info you can shake a stick at
75
130
 
76
- | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
77
- |-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
78
- | Works with JRuby | ![JRuby 9.1 Compat][💎jruby-9.1i] ![JRuby 9.2 Compat][💎jruby-9.2i] ![JRuby 9.3 Compat][💎jruby-9.3i] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎10-j-wf] [![JRuby 10.0 Compat][💎jruby-c-i]][🚎11-c-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf] |
79
- | Works with Truffle Ruby | ![Truffle Ruby 22.3 Compat][💎truby-22.3i] ![Truffle Ruby 23.0 Compat][💎truby-23.0i] <br/> [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎9-t-wf] [![Truffle Ruby 24.1 Compat][💎truby-c-i]][🚎11-c-wf] |
80
- | Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎4-lg-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎6-s-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎6-s-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎6-s-wf] [![Ruby 3.4 Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf] |
81
- | Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i] <br/> [![Ruby 2.3 Compat][💎ruby-2.3i]][🚎13-cbs-wf] [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎1-an-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎1-an-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎7-us-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎7-us-wf] |
82
- | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
83
- | Documentation | [![Discussion][⛳gg-discussions-img]][⛳gg-discussions] [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![Wiki][📜wiki-img]][📜wiki] |
84
- | Compliance | [![License: MIT][📄license-img]][📄license-ref] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
85
- | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
86
- | Support | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
87
- | Maintainer 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
88
- | `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼‍♂️aboutme-img]][💖💁🏼‍♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
131
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
132
+ |-------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
133
+ | Works with JRuby | ![JRuby 9.1 Compat][💎jruby-9.1i] ![JRuby 9.2 Compat][💎jruby-9.2i] ![JRuby 9.3 Compat][💎jruby-9.3i] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎10-j-wf] [![JRuby 10.0 Compat][💎jruby-c-i]][🚎11-c-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf] |
134
+ | Works with Truffle Ruby | ![Truffle Ruby 22.3 Compat][💎truby-22.3i] ![Truffle Ruby 23.0 Compat][💎truby-23.0i] <br/> [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎9-t-wf] [![Truffle Ruby 24.1 Compat][💎truby-c-i]][🚎11-c-wf] |
135
+ | Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎4-lg-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎6-s-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎6-s-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎6-s-wf] [![Ruby 3.4 Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf] |
136
+ | Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i] <br/> [![Ruby 2.3 Compat][💎ruby-2.3i]][🚎1-an-wf] [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎1-an-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎1-an-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎7-us-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎7-us-wf] |
137
+ | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Discussion][⛳gg-discussions-img]][⛳gg-discussions] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
138
+ | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
139
+ | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![Wiki][📜wiki-img]][📜wiki] |
140
+ | Compliance | [![License: MIT][📄license-img]][📄license-ref] [![Compatible with Apache Software Projects: Verified by SkyWalking Eyes][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
141
+ | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
142
+ | Maintainer 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
143
+ | `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼‍♂️aboutme-img]][💖💁🏼‍♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
89
144
 
90
145
  ### Compatibility
91
146
 
@@ -211,6 +266,10 @@ Alternatively:
211
266
 
212
267
  | Version | Release Date | CHANGELOG | README |
213
268
  |---------|--------------|---------------------------------------|---------------------------------|
269
+ | 2.0.17 | 2025-09-15 | [v2.0.17 CHANGELOG][2.0.17-changelog] | [v2.0.17 README][2.0.17-readme] |
270
+ | 2.0.16 | 2025-09-14 | [v2.0.16 CHANGELOG][2.0.16-changelog] | [v2.0.16 README][2.0.16-readme] |
271
+ | 2.0.15 | 2025-09-08 | [v2.0.15 CHANGELOG][2.0.15-changelog] | [v2.0.15 README][2.0.15-readme] |
272
+ | 2.0.14 | 2025-08-31 | [v2.0.14 CHANGELOG][2.0.14-changelog] | [v2.0.14 README][2.0.14-readme] |
214
273
  | 2.0.13 | 2025-08-30 | [v2.0.13 CHANGELOG][2.0.13-changelog] | [v2.0.13 README][2.0.13-readme] |
215
274
  | 2.0.12 | 2025-05-31 | [v2.0.12 CHANGELOG][2.0.12-changelog] | [v2.0.12 README][2.0.12-readme] |
216
275
  | 2.0.11 | 2025-05-23 | [v2.0.11 CHANGELOG][2.0.11-changelog] | [v2.0.11 README][2.0.11-readme] |
@@ -228,6 +287,10 @@ Alternatively:
228
287
 
229
288
  </details>
230
289
 
290
+ [2.0.17-changelog]: https://gitlab.com/ruby-oauth/oauth2/-/blob/main/CHANGELOG.md?ref_type=heads#2017---2025-09-15
291
+ [2.0.16-changelog]: https://gitlab.com/ruby-oauth/oauth2/-/blob/main/CHANGELOG.md?ref_type=heads#2016---2025-09-14
292
+ [2.0.15-changelog]: https://gitlab.com/ruby-oauth/oauth2/-/blob/main/CHANGELOG.md?ref_type=heads#2015---2025-09-08
293
+ [2.0.14-changelog]: https://gitlab.com/ruby-oauth/oauth2/-/blob/main/CHANGELOG.md?ref_type=heads#2014---2025-08-31
231
294
  [2.0.13-changelog]: https://gitlab.com/ruby-oauth/oauth2/-/blob/main/CHANGELOG.md?ref_type=heads#2013---2025-08-30
232
295
  [2.0.12-changelog]: https://gitlab.com/ruby-oauth/oauth2/-/blob/main/CHANGELOG.md?ref_type=heads#2012---2025-05-31
233
296
  [2.0.11-changelog]: https://gitlab.com/ruby-oauth/oauth2/-/blob/main/CHANGELOG.md?ref_type=heads#2011---2025-05-23
@@ -243,6 +306,10 @@ Alternatively:
243
306
  [2.0.1-changelog]: https://gitlab.com/ruby-oauth/oauth2/-/blob/main/CHANGELOG.md?ref_type=heads#201---2022-06-22
244
307
  [2.0.0-changelog]: https://gitlab.com/ruby-oauth/oauth2/-/blob/main/CHANGELOG.md?ref_type=heads#200---2022-06-21
245
308
 
309
+ [2.0.17-readme]: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.17/README.md
310
+ [2.0.16-readme]: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.16/README.md
311
+ [2.0.15-readme]: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.15/README.md
312
+ [2.0.14-readme]: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.14/README.md
246
313
  [2.0.13-readme]: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.13/README.md
247
314
  [2.0.12-readme]: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.12/README.md
248
315
  [2.0.11-readme]: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.11/README.md
@@ -1262,6 +1329,8 @@ See [CONTRIBUTING.md][🤝contributing].
1262
1329
 
1263
1330
  ### Code Coverage
1264
1331
 
1332
+ [![Coverage Graph][🔑codecov-g]][🔑codecov]
1333
+
1265
1334
  [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls]
1266
1335
 
1267
1336
  [![QLTY Test Coverage][🔑qlty-covi]][🔑qlty-cov]
@@ -1406,7 +1475,9 @@ Thanks for RTFM. ☺️
1406
1475
  [🖇floss-funding.dev]: https://floss-funding.dev
1407
1476
  [🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
1408
1477
  [✉️discord-invite]: https://discord.gg/3qme4XHNKN
1409
- [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
1478
+ [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
1479
+ [✉️ruby-friends-img]: https://img.shields.io/badge/daily.dev-%F0%9F%92%8E_Ruby_Friends-0A0A0A?style=for-the-badge&logo=dailydotdev&logoColor=white
1480
+ [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
1410
1481
 
1411
1482
  [⛳gg-discussions]: https://groups.google.com/g/oauth-ruby
1412
1483
  [⛳gg-discussions-img]: https://img.shields.io/badge/google-group-0093D0.svg?style=for-the-badge&logo=google&logoColor=orange
@@ -1507,6 +1578,8 @@ Thanks for RTFM. ☺️
1507
1578
  [🚎13-🔒️-wfi]: https://github.com/ruby-oauth/oauth2/actions/workflows/locked_deps.yml/badge.svg
1508
1579
  [🚎14-🔓️-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/unlocked_deps.yml
1509
1580
  [🚎14-🔓️-wfi]: https://github.com/ruby-oauth/oauth2/actions/workflows/unlocked_deps.yml/badge.svg
1581
+ [🚎15-🪪-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/license-eye.yml
1582
+ [🚎15-🪪-wfi]: https://github.com/ruby-oauth/oauth2/actions/workflows/license-eye.yml/badge.svg
1510
1583
  [💎ruby-2.2i]: https://img.shields.io/badge/Ruby-2.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
1511
1584
  [💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
1512
1585
  [💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
@@ -1556,13 +1629,15 @@ Thanks for RTFM. ☺️
1556
1629
  [📌gitmoji]:https://gitmoji.dev
1557
1630
  [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1558
1631
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1559
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.519-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1632
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.526-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1560
1633
  [🔐security]: SECURITY.md
1561
1634
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1562
1635
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
1563
1636
  [📄license]: LICENSE.txt
1564
1637
  [📄license-ref]: https://opensource.org/licenses/MIT
1565
1638
  [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
1639
+ [📄license-compat]: https://dev.to/galtzo/how-to-check-license-compatibility-41h0
1640
+ [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
1566
1641
  [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
1567
1642
  [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
1568
1643
  [🚎yard-current]: http://rubydoc.info/gems/oauth2
@@ -132,10 +132,15 @@ You may need to set `snaky: false`. See inline documentation for more info.
132
132
  # @option opts [FixNum, String] :expires_in (nil) the number of seconds in which the AccessToken will expire
133
133
  # @option opts [FixNum, String] :expires_at (nil) the epoch time in seconds in which AccessToken will expire
134
134
  # @option opts [FixNum, String] :expires_latency (nil) the number of seconds by which AccessToken validity will be reduced to offset latency, @version 2.0+
135
- # @option opts [Symbol or callable] :mode (:header) the transmission mode of the Access Token parameter value:
136
- # either one of :header, :body or :query, or a callable that accepts a request-verb parameter
135
+ # @option opts [Symbol, Hash, or callable] :mode (:header) the transmission mode of the Access Token parameter value:
136
+ # either one of :header, :body or :query; or a Hash with verb symbols as keys mapping to one of these symbols
137
+ # (e.g., {get: :query, post: :header, delete: :header}); or a callable that accepts a request-verb parameter
137
138
  # and returns one of these three symbols.
138
139
  # @option opts [String] :header_format ('Bearer %s') the string format to use for the Authorization header
140
+ #
141
+ # @example Verb-dependent Hash mode
142
+ # # Send token in query for GET, in header for POST/DELETE, in body for PUT/PATCH
143
+ # OAuth2::AccessToken.new(client, token, mode: {get: :query, post: :header, delete: :header, put: :body, patch: :body})
139
144
  # @option opts [String] :param_name ('access_token') the parameter name to use for transmission of the
140
145
  # Access Token value in :body or :query transmission mode
141
146
  # @option opts [String] :token_name (nil) the name of the response parameter that identifies the access token
@@ -372,7 +377,18 @@ You may need to set `snaky: false`. See inline documentation for more info.
372
377
  private
373
378
 
374
379
  def configure_authentication!(opts, verb)
375
- mode = options[:mode].respond_to?(:call) ? options[:mode].call(verb) : options[:mode]
380
+ mode_opt = options[:mode]
381
+ mode =
382
+ if mode_opt.respond_to?(:call)
383
+ mode_opt.call(verb)
384
+ elsif mode_opt.is_a?(Hash)
385
+ key = verb.to_sym
386
+ # Try symbol key first, then string key; default to :header when missing
387
+ mode_opt[key] || mode_opt[key.to_s] || :header
388
+ else
389
+ mode_opt
390
+ end
391
+
376
392
  case mode
377
393
  when :header
378
394
  opts[:headers] ||= {}
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OAuth2
4
4
  module Version
5
- VERSION = "2.0.15"
5
+ VERSION = "2.0.17"
6
6
  end
7
7
  end
@@ -17,7 +17,7 @@ module OAuth2
17
17
  def patch: (String, ?Hash[Symbol, untyped]) { (untyped) -> void } -> OAuth2::Response
18
18
  def delete: (String, ?Hash[Symbol, untyped]) { (untyped) -> void } -> OAuth2::Response
19
19
  def headers: () -> Hash[String, String]
20
- def configure_authentication!: (Hash[Symbol, untyped]) -> void
20
+ def configure_authentication!: (Hash[Symbol, untyped], Symbol) -> void
21
21
  def convert_expires_at: (untyped) -> (Time | Integer | nil)
22
22
 
23
23
  attr_accessor response: OAuth2::Response
data.tar.gz.sig CHANGED
Binary file
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.15
4
+ version: 2.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
@@ -156,7 +156,7 @@ dependencies:
156
156
  version: '1.1'
157
157
  - - ">="
158
158
  - !ruby/object:Gem::Version
159
- version: 1.1.8
159
+ version: 1.1.9
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
@@ -166,7 +166,7 @@ dependencies:
166
166
  version: '1.1'
167
167
  - - ">="
168
168
  - !ruby/object:Gem::Version
169
- version: 1.1.8
169
+ version: 1.1.9
170
170
  - !ruby/object:Gem::Dependency
171
171
  name: addressable
172
172
  requirement: !ruby/object:Gem::Requirement
@@ -187,26 +187,6 @@ dependencies:
187
187
  - - ">="
188
188
  - !ruby/object:Gem::Version
189
189
  version: 2.8.7
190
- - !ruby/object:Gem::Dependency
191
- name: backports
192
- requirement: !ruby/object:Gem::Requirement
193
- requirements:
194
- - - "~>"
195
- - !ruby/object:Gem::Version
196
- version: '3.25'
197
- - - ">="
198
- - !ruby/object:Gem::Version
199
- version: 3.25.1
200
- type: :development
201
- prerelease: false
202
- version_requirements: !ruby/object:Gem::Requirement
203
- requirements:
204
- - - "~>"
205
- - !ruby/object:Gem::Version
206
- version: '3.25'
207
- - - ">="
208
- - !ruby/object:Gem::Version
209
- version: 3.25.1
210
190
  - !ruby/object:Gem::Dependency
211
191
  name: nkf
212
192
  requirement: !ruby/object:Gem::Requirement
@@ -250,7 +230,7 @@ dependencies:
250
230
  version: '1.1'
251
231
  - - ">="
252
232
  - !ruby/object:Gem::Version
253
- version: 1.1.9
233
+ version: 1.1.20
254
234
  type: :development
255
235
  prerelease: false
256
236
  version_requirements: !ruby/object:Gem::Requirement
@@ -260,7 +240,7 @@ dependencies:
260
240
  version: '1.1'
261
241
  - - ">="
262
242
  - !ruby/object:Gem::Version
263
- version: 1.1.9
243
+ version: 1.1.20
264
244
  - !ruby/object:Gem::Dependency
265
245
  name: bundler-audit
266
246
  requirement: !ruby/object:Gem::Requirement
@@ -411,6 +391,54 @@ dependencies:
411
391
  - - ">="
412
392
  - !ruby/object:Gem::Version
413
393
  version: 1.0.3
394
+ - !ruby/object:Gem::Dependency
395
+ name: backports
396
+ requirement: !ruby/object:Gem::Requirement
397
+ requirements:
398
+ - - "~>"
399
+ - !ruby/object:Gem::Version
400
+ version: '3.25'
401
+ - - ">="
402
+ - !ruby/object:Gem::Version
403
+ version: 3.25.1
404
+ type: :development
405
+ prerelease: false
406
+ version_requirements: !ruby/object:Gem::Requirement
407
+ requirements:
408
+ - - "~>"
409
+ - !ruby/object:Gem::Version
410
+ version: '3.25'
411
+ - - ">="
412
+ - !ruby/object:Gem::Version
413
+ version: 3.25.1
414
+ - !ruby/object:Gem::Dependency
415
+ name: vcr
416
+ requirement: !ruby/object:Gem::Requirement
417
+ requirements:
418
+ - - ">="
419
+ - !ruby/object:Gem::Version
420
+ version: '4'
421
+ type: :development
422
+ prerelease: false
423
+ version_requirements: !ruby/object:Gem::Requirement
424
+ requirements:
425
+ - - ">="
426
+ - !ruby/object:Gem::Version
427
+ version: '4'
428
+ - !ruby/object:Gem::Dependency
429
+ name: webmock
430
+ requirement: !ruby/object:Gem::Requirement
431
+ requirements:
432
+ - - ">="
433
+ - !ruby/object:Gem::Version
434
+ version: '3'
435
+ type: :development
436
+ prerelease: false
437
+ version_requirements: !ruby/object:Gem::Requirement
438
+ requirements:
439
+ - - ">="
440
+ - !ruby/object:Gem::Version
441
+ version: '3'
414
442
  description: "\U0001F510 A Ruby wrapper for the OAuth 2.0 Authorization Framework,
415
443
  including the OAuth 2.1 draft spec, and OpenID Connect (OIDC)"
416
444
  email:
@@ -470,10 +498,10 @@ licenses:
470
498
  - MIT
471
499
  metadata:
472
500
  homepage_uri: https://oauth2.galtzo.com/
473
- source_code_uri: https://github.com/ruby-oauth/oauth2/tree/v2.0.15
474
- changelog_uri: https://github.com/ruby-oauth/oauth2/blob/v2.0.15/CHANGELOG.md
501
+ source_code_uri: https://github.com/ruby-oauth/oauth2/tree/v2.0.17
502
+ changelog_uri: https://github.com/ruby-oauth/oauth2/blob/v2.0.17/CHANGELOG.md
475
503
  bug_tracker_uri: https://github.com/ruby-oauth/oauth2/issues
476
- documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.15
504
+ documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.17
477
505
  mailing_list_uri: https://groups.google.com/g/oauth-ruby
478
506
  funding_uri: https://github.com/sponsors/pboling
479
507
  wiki_uri: https://gitlab.com/ruby-oauth/oauth2/-/wiki
@@ -482,11 +510,11 @@ metadata:
482
510
  rubygems_mfa_required: 'true'
483
511
  post_install_message: |2
484
512
 
485
- ---+++--- oauth2 v2.0.15 ---+++---
513
+ ---+++--- oauth2 v2.0.17 ---+++---
486
514
 
487
515
  (minor) ⚠️ BREAKING CHANGES ⚠️ when upgrading from < v2
488
516
  • Summary of breaking changes: https://gitlab.com/ruby-oauth/oauth2#what-is-new-for-v20
489
- • Changes in this patch: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.15/CHANGELOG.md#2015-2025-09-08
517
+ • Changes in this patch: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.17/CHANGELOG.md#2015-2025-09-08
490
518
 
491
519
  News:
492
520
  1. New documentation website, including for OAuth 2.1 and OIDC: https://oauth2.galtzo.com
@@ -529,7 +557,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
529
557
  - !ruby/object:Gem::Version
530
558
  version: '0'
531
559
  requirements: []
532
- rubygems_version: 3.7.1
560
+ rubygems_version: 3.7.2
533
561
  specification_version: 4
534
562
  summary: "\U0001F510 OAuth 2.0, 2.1 & OIDC Core Ruby implementation"
535
563
  test_files: []
metadata.gz.sig CHANGED
Binary file