oauth2 2.0.14 → 2.0.15
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 +57 -165
- data/CONTRIBUTING.md +36 -4
- data/FUNDING.md +2 -2
- data/README.md +114 -27
- data/SECURITY.md +3 -17
- data/lib/oauth2/access_token.rb +8 -6
- data/lib/oauth2/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +168 -17
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 340909e9eea17737a90fc8c0604368bb883d214940dca855b37d029553650a6a
|
4
|
+
data.tar.gz: 9c2892b5a9c5a80bfcc71708144a66286c22a179a13dcc5e3acdc571bac89710
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bef9daa3bfb90c12b8b13a2b812fc7791aaab6fe88ffdb87d93924d0908489bf7bbe36db47b1be7c6033cddb8c78b82766c4df6ae4871043c0a0fd96be9c1150
|
7
|
+
data.tar.gz: 9fe20ddb2b737be25a8322f762f6f15a4894333c56b4a27c58328af885abbdf71723a305bb94b6aeda8d744640373d9ef6f2ab09dbb6a6100e2b653095c73ca4
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -24,6 +24,32 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
24
24
|
### Fixed
|
25
25
|
### Security
|
26
26
|
|
27
|
+
## [2.0.15] - 2025-09-08
|
28
|
+
- TAG: [v2.0.15][2.0.15t]
|
29
|
+
- COVERAGE: 100.00% -- 519/519 lines in 14 files
|
30
|
+
- BRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files
|
31
|
+
- 90.48% documented
|
32
|
+
### Added
|
33
|
+
- [gh!671][gh!671] - Complete documentation example for Instagram by @pboling
|
34
|
+
- .env.local.example for contributor happiness
|
35
|
+
- note lack of builds for JRuby 9.2, 9.3 & Truffleruby 22.3, 23.0
|
36
|
+
- [actions/runner - issues/2347][GHA-continue-on-error-ui]
|
37
|
+
- [community/discussions/15452][GHA-allow-failure]
|
38
|
+
- [gh!670][gh!670] - AccessToken: verb-dependent token transmission mode by @mrj
|
39
|
+
- e.g., Instagram GET=:query, POST/DELETE=:header
|
40
|
+
### Changed
|
41
|
+
- [gh!669][gh!669] - Upgrade to kettle-dev v1.1.9 by @pboling
|
42
|
+
### Fixed
|
43
|
+
- Remove accidentally duplicated lines, and fix typos in CHANGELOG.md
|
44
|
+
- point badge to the correct workflow for Ruby 2.3 (caboose.yml)
|
45
|
+
### Security
|
46
|
+
|
47
|
+
[gh!669]: https://github.com/ruby-oauth/oauth2/pull/669
|
48
|
+
[gh!670]: https://github.com/ruby-oauth/oauth2/pull/670
|
49
|
+
[gh!671]: https://github.com/ruby-oauth/oauth2/pull/671
|
50
|
+
[GHA-continue-on-error-ui]: https://github.com/actions/runner/issues/2347
|
51
|
+
[GHA-allow-failure]: https://github.com/orgs/community/discussions/15452
|
52
|
+
|
27
53
|
## [2.0.14] - 2025-08-31
|
28
54
|
- TAG: [v2.0.14][2.0.14t]
|
29
55
|
- COVERAGE: 100.00% -- 519/519 lines in 14 files
|
@@ -31,25 +57,25 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
31
57
|
- 90.48% documented
|
32
58
|
### Added
|
33
59
|
- improved documentation by @pboling
|
34
|
-
- [
|
35
|
-
- [
|
60
|
+
- [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
|
+
- [gh!666][gh!666] - Document usage of flat query params using Faraday::FlatParamsEncoder, with example URI, in README by @pboling
|
36
62
|
- Spec: verify flat params are preserved with Faraday::FlatParamsEncoder (skips on Faraday without FlatParamsEncoder)
|
37
|
-
- [
|
63
|
+
- [gh!662][gh!662] - documentation notes in code comments and README highlighting OAuth 2.1 differences, with references, by @pboling
|
38
64
|
- PKCE required for auth code,
|
39
65
|
- exact redirect URI match,
|
40
66
|
- implicit/password grants omitted,
|
41
67
|
- avoid bearer tokens in query,
|
42
68
|
- refresh token guidance for public clients,
|
43
|
-
- simplified client definitions
|
44
|
-
- [
|
69
|
+
- simplified client definitions
|
70
|
+
- [gh!663][gh!663] - document how to implement an OIDC client with this gem in OIDC.md by @pboling
|
45
71
|
- also, list libraries built on top of the oauth2 gem that implement OIDC
|
46
|
-
- [
|
72
|
+
- [gh!664][gh!664] - README: Add example for JHipster UAA (Spring Cloud) password grant, converted from Postman/Net::HTTP by @pboling
|
47
73
|
|
48
|
-
[
|
49
|
-
[
|
50
|
-
[
|
51
|
-
[
|
52
|
-
[
|
74
|
+
[gh!662]: https://github.com/ruby-oauth/oauth2/pull/662
|
75
|
+
[gh!663]: https://github.com/ruby-oauth/oauth2/pull/663
|
76
|
+
[gh!664]: https://github.com/ruby-oauth/oauth2/pull/664
|
77
|
+
[gh!665]: https://github.com/ruby-oauth/oauth2/pull/665
|
78
|
+
[gh!666]: https://github.com/ruby-oauth/oauth2/pull/666
|
53
79
|
|
54
80
|
## [2.0.13] - 2025-08-30
|
55
81
|
- TAG: [v2.0.13][2.0.13t]
|
@@ -57,23 +83,23 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
57
83
|
- BRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files
|
58
84
|
- 90.48% documented
|
59
85
|
### Added
|
60
|
-
- [
|
61
|
-
- [
|
62
|
-
- [
|
63
|
-
- [
|
64
|
-
- [
|
86
|
+
- [gh!656][gh!656] - Support revocation with URL-encoded parameters
|
87
|
+
- [gh!660][gh!660] - Inline yard documentation by @pboling
|
88
|
+
- [gh!660][gh!660] - Complete RBS types documentation by @pboling
|
89
|
+
- [gh!660][gh!660]- (more) Comprehensive documentation / examples by @pboling
|
90
|
+
- [gh!657][gh!657] - Updated documentation for org-rename by @pboling
|
65
91
|
- More funding links by @Aboling0
|
66
92
|
- Documentation: Added docs/OIDC.md with OIDC 1.0 overview, example, and references
|
67
93
|
### Changed
|
68
94
|
- Upgrade Code of Conduct to Contributor Covenant 2.1 by @pboling
|
69
|
-
- [
|
95
|
+
- [gh!660][gh!660] - Shrink post-install message by 4 lines by @pboling
|
70
96
|
### Fixed
|
71
|
-
- [
|
97
|
+
- [gh!660][gh!660] - Links in README (including link to HEAD documentation) by @pboling
|
72
98
|
### Security
|
73
99
|
|
74
|
-
[
|
75
|
-
[
|
76
|
-
[
|
100
|
+
[gh!660]: https://github.com/ruby-oauth/oauth2/pull/660
|
101
|
+
[gh!657]: https://github.com/ruby-oauth/oauth2/pull/657
|
102
|
+
[gh!656]: https://github.com/ruby-oauth/oauth2/pull/656
|
77
103
|
|
78
104
|
## [2.0.12] - 2025-05-31
|
79
105
|
- TAG: [v2.0.12][2.0.12t]
|
@@ -81,7 +107,7 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
81
107
|
- Branch Coverage: 100.0% (174 / 174)
|
82
108
|
- 80.00% documented
|
83
109
|
### Added
|
84
|
-
- [
|
110
|
+
- [gh!652][gh!652] - Support IETF rfc7515 JSON Web Signature - JWS by @mridang
|
85
111
|
- Support JWT `kid` for key discovery and management
|
86
112
|
- More Documentation by @pboling
|
87
113
|
- Documented Serialization Extensions
|
@@ -89,14 +115,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
89
115
|
- Documentation site @ https://oauth2.galtzo.com now complete
|
90
116
|
### Changed
|
91
117
|
- Updates to gemspec (email, funding url, post install message)
|
92
|
-
### Deprecated
|
93
|
-
### Removed
|
94
118
|
### Fixed
|
95
119
|
- Documentation Typos by @pboling
|
96
|
-
### Security
|
97
120
|
|
98
|
-
|
99
|
-
[
|
121
|
+
|
122
|
+
[gh!652]: https://github.com/ruby-oauth/oauth2/pull/652
|
100
123
|
|
101
124
|
## [2.0.11] - 2025-05-23
|
102
125
|
- TAG: [v2.0.11][2.0.11t]
|
@@ -104,11 +127,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
104
127
|
- BRANCH COVERAGE: 100.00% -- 172/172 branches in 14 files
|
105
128
|
- 80.00% documented
|
106
129
|
### Added
|
107
|
-
- [
|
108
|
-
- [gh651](https://github.com/ruby-oauth/oauth2/pull/651) - `:snaky_hash_klass` option (@pboling)
|
130
|
+
- [gh!651](https://github.com/ruby-oauth/oauth2/pull/651) - `:snaky_hash_klass` option (@pboling)
|
109
131
|
- More documentation
|
110
132
|
- Codeberg as ethical mirror (@pboling)
|
111
|
-
- https://codeberg.org/oauth-xx/oauth2
|
112
133
|
- https://codeberg.org/ruby-oauth/oauth2
|
113
134
|
- Don't check for cert if SKIP_GEM_SIGNING is set (@pboling)
|
114
135
|
- All runtime deps, including oauth-xx sibling gems, are now tested against HEAD (@pboling)
|
@@ -116,19 +137,15 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
116
137
|
- YARD config, GFM compatible with relative file links (@pboling)
|
117
138
|
- Documentation site on GitHub Pages (@pboling)
|
118
139
|
- [oauth2.galtzo.com](https://oauth2.galtzo.com)
|
119
|
-
- [!649](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/649) - Test compatibility with all key minor versions of Hashie v0, v1, v2, v3, v4, v5, HEAD (@pboling)
|
120
|
-
- [gh651](https://github.com/oauth-xx/oauth2/pull/651) - Mock OAuth2 server for testing (@pboling)
|
121
140
|
- [!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)
|
122
|
-
- [
|
141
|
+
- [gh!651](https://github.com/ruby-oauth/oauth2/pull/651) - Mock OAuth2 server for testing (@pboling)
|
123
142
|
- https://github.com/navikt/mock-oauth2-server
|
124
143
|
### Changed
|
125
|
-
- [
|
126
|
-
- [gh651](https://github.com/ruby-oauth/oauth2/pull/651) - Upgraded to snaky_hash v2.0.3 (@pboling)
|
144
|
+
- [gh!651](https://github.com/ruby-oauth/oauth2/pull/651) - Upgraded to snaky_hash v2.0.3 (@pboling)
|
127
145
|
- Provides solution for serialization issues
|
128
146
|
- Updated `spec.homepage_uri` in gemspec to GitHub Pages YARD documentation site (@pboling)
|
129
147
|
### Fixed
|
130
|
-
- [
|
131
|
-
- [gh650](https://github.com/ruby-oauth/oauth2/pull/650) - Regression in return type of `OAuth2::Response#parsed` (@pboling)
|
148
|
+
- [gh!650](https://github.com/ruby-oauth/oauth2/pull/650) - Regression in return type of `OAuth2::Response#parsed` (@pboling)
|
132
149
|
- Incorrect documentation related to silencing warnings (@pboling)
|
133
150
|
|
134
151
|
## [2.0.10] - 2025-05-17
|
@@ -137,10 +154,6 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
137
154
|
- BRANCH COVERAGE: 100.00% -- 170/170 branches in 14 files
|
138
155
|
- 79.05% documented
|
139
156
|
### Added
|
140
|
-
- [gh!632](https://github.com/oauth-xx/oauth2/pull/632) - Added `funding.yml` (@Aboling0)
|
141
|
-
- [!635](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/635) - Added `.gitlab-ci.yml` (@jessieay)
|
142
|
-
- [#638](https://gitlab.com/oauth-xx/oauth2/-/issues/638) - Documentation of support for **ILO Fundamental Principles of Rights at Work** (@pboling)
|
143
|
-
- [!642](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/642) - 20-year certificate for signing gem releases, expires 2045-04-29 (@pboling)
|
144
157
|
- [gh!632](https://github.com/ruby-oauth/oauth2/pull/632) - Added `funding.yml` (@Aboling0)
|
145
158
|
- [!635](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/635) - Added `.gitlab-ci.yml` (@jessieay)
|
146
159
|
- [#638](https://gitlab.com/ruby-oauth/oauth2/-/issues/638) - Documentation of support for **ILO Fundamental Principles of Rights at Work** (@pboling)
|
@@ -150,47 +163,26 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
150
163
|
- news_uri
|
151
164
|
- mailing_list_uri
|
152
165
|
- SHA256 and SHA512 Checksums for release
|
153
|
-
- [!643](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/643) - Add `token_name` option (@pboling)
|
154
166
|
- [!643](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/643) - Add `token_name` option (@pboling)
|
155
167
|
- Specify the parameter name that identifies the access token
|
156
|
-
- [!645](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/645) - Add `OAuth2::OAUTH_DEBUG` constant, based on `ENV["OAUTH_DEBUG"] (@pboling)
|
157
|
-
- [!646](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/646) - Add `OAuth2.config.silence_extra_tokens_warning`, default: false (@pboling)
|
158
|
-
- [!647](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/647) - Add IETF RFC 7009 Token Revocation compliant (@pboling)
|
159
168
|
- [!645](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/645) - Add `OAuth2::OAUTH_DEBUG` constant, based on `ENV["OAUTH_DEBUG"] (@pboling)
|
160
169
|
- [!646](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/646) - Add `OAuth2.config.silence_extra_tokens_warning`, default: false (@pboling)
|
161
170
|
- [!647](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/647) - Add IETF RFC 7009 Token Revocation compliant (@pboling)
|
162
171
|
- `OAuth2::Client#revoke_token`
|
163
172
|
- `OAuth2::AccessToken#revoke`
|
164
173
|
- See: https://datatracker.ietf.org/doc/html/rfc7009
|
165
|
-
- [gh!644](https://github.com/oauth-xx/oauth2/pull/644), [gh!645](https://github.com/oauth-xx/oauth2/pull/645) - Added CITATION.cff (@Aboling0)
|
166
|
-
- [!648](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/648) - Improved documentation (@pboling)
|
167
174
|
- [gh!644](https://github.com/ruby-oauth/oauth2/pull/644), [gh!645](https://github.com/ruby-oauth/oauth2/pull/645) - Added CITATION.cff (@Aboling0)
|
168
175
|
- [!648](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/648) - Improved documentation (@pboling)
|
169
176
|
### Changed
|
170
177
|
- Default value of `OAuth2.config.silence_extra_tokens_warning` was `false`, now `true` (@pboling)
|
171
178
|
- Gem releases are now cryptographically signed, with a 20-year cert (@pboling)
|
172
179
|
- Allow linux distros to build release without signing, as their package managers sign independently
|
173
|
-
- [!647](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/647) - `OAuth2::AccessToken#refresh` now supports block param pass through (@pboling)
|
174
|
-
- [!647](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/647) - `OAuth2.config` is no longer writable (@pboling)
|
175
|
-
- [!647](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/647) - Errors raised by `OAuth2::AccessToken` are now always `OAuth2::Error` and have better metadata (@pboling)
|
176
180
|
- [!647](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/647) - `OAuth2::AccessToken#refresh` now supports block param pass through (@pboling)
|
177
181
|
- [!647](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/647) - `OAuth2.config` is no longer writable (@pboling)
|
178
182
|
- [!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)
|
179
183
|
### Fixed
|
180
|
-
- [#95](https://gitlab.com/oauth-xx/oauth2/-/issues/95) - restoring an access token via `AccessToken#from_hash` (@pboling)
|
181
184
|
- [#95](https://gitlab.com/ruby-oauth/oauth2/-/issues/95) - restoring an access token via `AccessToken#from_hash` (@pboling)
|
182
185
|
- This was a 13 year old bug report. 😘
|
183
|
-
- [#619](https://gitlab.com/oauth-xx/oauth2/-/issues/619) - Internal options (like `snaky`, `raise_errors`, and `parse`) are no longer included in request (@pboling)
|
184
|
-
- [!633](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/633) - Spaces will now be encoded as `%20` instead of `+` (@nov.matake)
|
185
|
-
- [!634](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/634) - `CHANGELOG.md` documentation fix (@skuwa229)
|
186
|
-
- [!638](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/638) - fix `expired?` when `expires_in` is `0` (@disep)
|
187
|
-
- [!639](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/639) - Only instantiate `OAuth2::Error` if `raise_errors` option is `true` (@glytch2)
|
188
|
-
- [#639](https://gitlab.com/oauth-xx/oauth2/-/issues/639) - `AccessToken#to_hash` is now serializable, just a regular Hash (@pboling)
|
189
|
-
- [!640](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/640) - `README.md` documentation fix (@martinezcoder)
|
190
|
-
- [!641](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/641) - Do not include sensitive information in the `inspect` (@manuelvanrijn)
|
191
|
-
- [#641](https://gitlab.com/oauth-xx/oauth2/-/issues/641) - Made default JSON response parser more resilient (@pboling)
|
192
|
-
- [#645](https://gitlab.com/oauth-xx/oauth2/-/issues/645) - Response no longer becomes a snaky hash (@pboling)
|
193
|
-
- [gh!646](https://github.com/oauth-xx/oauth2/pull/646) - Change `require` to `require_relative` (improve performance) (@Aboling0)
|
194
186
|
- [#619](https://gitlab.com/ruby-oauth/oauth2/-/issues/619) - Internal options (like `snaky`, `raise_errors`, and `parse`) are no longer included in request (@pboling)
|
195
187
|
- [!633](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/633) - Spaces will now be encoded as `%20` instead of `+` (@nov.matake)
|
196
188
|
- [!634](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/634) - `CHANGELOG.md` documentation fix (@skuwa229)
|
@@ -214,35 +206,27 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
214
206
|
## [2.0.8] - 2022-09-01
|
215
207
|
- TAG: [v2.0.8][2.0.8t]
|
216
208
|
### Changed
|
217
|
-
- [!630](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/630) - Extract snaky_hash to external dependency (@pboling)
|
218
209
|
- [!630](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/630) - Extract snaky_hash to external dependency (@pboling)
|
219
210
|
### Added
|
220
|
-
- [!631](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/631) - New global configuration option OAuth2.config.silence_extra_tokens_warning (default: false) fixes [#628](https://gitlab.com/oauth-xx/oauth2/-/issues/628)
|
221
211
|
- [!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)
|
222
212
|
|
223
213
|
## [2.0.7] - 2022-08-22
|
224
214
|
- TAG: [v2.0.7][2.0.7t]
|
225
215
|
### Added
|
226
|
-
- [!629](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/629) - Allow POST of JSON to get token (@pboling, @terracatta)
|
227
216
|
- [!629](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/629) - Allow POST of JSON to get token (@pboling, @terracatta)
|
228
217
|
### Fixed
|
229
|
-
- [!626](https://gitlab.com/oauth-xx/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)
|
230
218
|
- [!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)
|
231
219
|
- Note: This fixes compatibility with `omniauth-oauth2` and AWS
|
232
|
-
- [!625](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/625) - Fixes the printed version in the post install message (@hasghari)
|
233
220
|
- [!625](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/625) - Fixes the printed version in the post install message (@hasghari)
|
234
221
|
|
235
222
|
## [2.0.6] - 2022-07-13
|
236
223
|
- TAG: [v2.0.6][2.0.6t]
|
237
224
|
### Fixed
|
238
|
-
- [!624](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/624) - Fixes a [regression](https://gitlab.com/oauth-xx/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)
|
239
225
|
- [!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)
|
240
226
|
|
241
227
|
## [2.0.5] - 2022-07-07
|
242
228
|
- TAG: [v2.0.5][2.0.5t]
|
243
229
|
### Fixed
|
244
|
-
- [!620](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/620) - Documentation improvements, to help with upgrading (@swanson)
|
245
|
-
- [!621](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/621) - Fixed [#528](https://gitlab.com/oauth-xx/oauth2/-/issues/528) and [#619](https://gitlab.com/oauth-xx/oauth2/-/issues/619) (@pboling)
|
246
230
|
- [!620](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/620) - Documentation improvements, to help with upgrading (@swanson)
|
247
231
|
- [!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)
|
248
232
|
- All data in responses is now returned, with the access token removed and set as `token`
|
@@ -254,28 +238,20 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
254
238
|
## [2.0.4] - 2022-07-01
|
255
239
|
- TAG: [v2.0.4][2.0.4t]
|
256
240
|
### Fixed
|
257
|
-
- [!618](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/618) - In some scenarios the `snaky` option default value was not applied (@pboling)
|
258
241
|
- [!618](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/618) - In some scenarios the `snaky` option default value was not applied (@pboling)
|
259
242
|
|
260
243
|
## [2.0.3] - 2022-06-28
|
261
244
|
- TAG: [v2.0.3][2.0.3t]
|
262
245
|
### Added
|
263
|
-
- [!611](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/611) - Proper deprecation warnings for `extract_access_token` argument (@pboling)
|
264
|
-
- [!612](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/612) - Add `snaky: false` option to skip conversion to `OAuth2::SnakyHash` (default: true) (@pboling)
|
265
246
|
- [!611](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/611) - Proper deprecation warnings for `extract_access_token` argument (@pboling)
|
266
247
|
- [!612](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/612) - Add `snaky: false` option to skip conversion to `OAuth2::SnakyHash` (default: true) (@pboling)
|
267
248
|
### Fixed
|
268
|
-
- [!608](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/608) - Wrap `Faraday::TimeoutError` in `OAuth2::TimeoutError` (@nbibler)
|
269
|
-
- [!615](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/615) - Fix support for requests with blocks, see `Faraday::Connection#run_request` (@pboling)
|
270
249
|
- [!608](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/608) - Wrap `Faraday::TimeoutError` in `OAuth2::TimeoutError` (@nbibler)
|
271
250
|
- [!615](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/615) - Fix support for requests with blocks, see `Faraday::Connection#run_request` (@pboling)
|
272
251
|
|
273
252
|
## [2.0.2] - 2022-06-24
|
274
253
|
- TAG: [v2.0.2][2.0.2t]
|
275
254
|
### Fixed
|
276
|
-
- [!604](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/604) - Wrap `Faraday::TimeoutError` in `OAuth2::TimeoutError` (@stanhu)
|
277
|
-
- [!606](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/606) - Ruby 2.7 deprecation warning fix: Move `access_token_class` parameter into `Client` constructor (@stanhu)
|
278
|
-
- [!607](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/607) - CHANGELOG correction, reference to `OAuth2::ConnectionError` (@zavan)
|
279
255
|
- [!604](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/604) - Wrap `Faraday::TimeoutError` in `OAuth2::TimeoutError` (@stanhu)
|
280
256
|
- [!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)
|
281
257
|
- [!607](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/607) - CHANGELOG correction, reference to `OAuth2::ConnectionError` (@zavan)
|
@@ -289,32 +265,6 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
289
265
|
## [2.0.0] - 2022-06-21
|
290
266
|
- TAG: [v2.0.0][2.0.0t]
|
291
267
|
### Added
|
292
|
-
- [!158](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/158), [!344](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/344) - Optionally pass raw response to parsers (@niels)
|
293
|
-
- [!190](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/190), [!332](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/332), [!334](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/334), [!335](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/335), [!360](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/360), [!426](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/426), [!427](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/427), [!461](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/461) - Documentation (@josephpage, @pboling, @meganemura, @joshRpowell, @elliotcm)
|
294
|
-
- [!220](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/220) - Support IETF rfc7523 JWT Bearer Tokens Draft 04+ (@jhmoore)
|
295
|
-
- [!298](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/298) - Set the response object on the access token on Client#get_token for debugging (@cpetschnig)
|
296
|
-
- [!305](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/305) - Option: `OAuth2::Client#get_token` - `:access_token_class` (`AccessToken`); user specified class to use for all calls to `get_token` (@styd)
|
297
|
-
- [!346](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/571) - Modern gem structure (@pboling)
|
298
|
-
- [!351](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/351) - Support Jruby 9k (@pboling)
|
299
|
-
- [!362](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/362) - Support SemVer release version scheme (@pboling)
|
300
|
-
- [!363](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/363) - New method `OAuth2::AccessToken#refresh!` same as old `refresh`, with backwards compatibility alias (@pboling)
|
301
|
-
- [!364](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/364) - Support `application/hal+json` format (@pboling)
|
302
|
-
- [!365](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/365) - Support `application/vnd.collection+json` format (@pboling)
|
303
|
-
- [!376](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/376) - _Documentation_: Example / Test for Google 2-legged JWT (@jhmoore)
|
304
|
-
- [!381](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/381) - Spec for extra header params on client credentials (@nikz)
|
305
|
-
- [!394](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/394) - Option: `OAuth2::AccessToken#initialize` - `:expires_latency` (`nil`); number of seconds by which AccessToken validity will be reduced to offset latency (@klippx)
|
306
|
-
- [!412](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/412) - Support `application/vdn.api+json` format (from jsonapi.org) (@david-christensen)
|
307
|
-
- [!413](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/413) - _Documentation_: License scan and report (@meganemura)
|
308
|
-
- [!442](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/442) - Option: `OAuth2::Client#initialize` - `:logger` (`::Logger.new($stdout)`) logger to use when OAUTH_DEBUG is enabled (for parity with `1-4-stable` branch) (@rthbound)
|
309
|
-
- [!494](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/494) - Support [OIDC 1.0 Private Key JWT](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication); based on the OAuth JWT assertion specification [(RFC 7523)](https://tools.ietf.org/html/rfc7523) (@SteveyblamWork)
|
310
|
-
- [!549](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/549) - Wrap `Faraday::ConnectionFailed` in `OAuth2::ConnectionError` (@nikkypx)
|
311
|
-
- [!550](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/550) - Raise error if location header not present when redirecting (@stanhu)
|
312
|
-
- [!552](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/552) - Add missing `version.rb` require (@ahorek)
|
313
|
-
- [!553](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/553) - Support `application/problem+json` format (@janz93)
|
314
|
-
- [!560](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/560) - Support IETF rfc6749, section 2.3.1 - don't set auth params when `nil` (@bouk)
|
315
|
-
- [!571](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/571) - Support Ruby 3.1 (@pboling)
|
316
|
-
- [!575](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/575) - Support IETF rfc7231, section 7.1.2 - relative location in redirect (@pboling)
|
317
|
-
- [!581](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/581) - _Documentation_: of breaking changes (@pboling)
|
318
268
|
- [!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)
|
319
269
|
- [!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)
|
320
270
|
- [!220](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/220) - Support IETF rfc7523 JWT Bearer Tokens Draft 04+ (@jhmoore)
|
@@ -342,16 +292,6 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
342
292
|
- [!575](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/575) - Support IETF rfc7231, section 7.1.2 - relative location in redirect (@pboling)
|
343
293
|
- [!581](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/581) - _Documentation_: of breaking changes (@pboling)
|
344
294
|
### Changed
|
345
|
-
- [!191](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/191) - **BREAKING**: Token is expired if `expired_at` time is `now` (@davestevens)
|
346
|
-
- [!312](https://gitlab.com/oauth-xx/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)
|
347
|
-
- [!317](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/317) - _Dependency_: Upgrade `jwt` to 2.x.x (@travisofthenorth)
|
348
|
-
- [!338](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/338) - _Dependency_: Switch from `Rack::Utils.escape` to `CGI.escape` (@josephpage)
|
349
|
-
- [!339](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/339), [!368](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/368), [!424](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/424), [!479](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/479), [!493](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/493), [!539](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/539), [!542](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/542), [!553](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/553) - CI Updates, code coverage, linting, spelling, type fixes, New VERSION constant (@pboling, @josephpage, @ahorek)
|
350
|
-
- [!410](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/410) - **BREAKING**: Removed the ability to call .error from an OAuth2::Response object (@jhmoore)
|
351
|
-
- [!414](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/414) - Use Base64.strict_encode64 instead of custom internal logic (@meganemura)
|
352
|
-
- [!469](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/469) - **BREAKING**: Default value for option `OAuth2::Client` - `:authorize_url` removed leading slash to work with relative paths by default (`'oauth/authorize'`) (@ghost)
|
353
|
-
- [!469](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/469) - **BREAKING**: Default value for option `OAuth2::Client` - `:token_url` removed leading slash to work with relative paths by default (`'oauth/token'`) (@ghost)
|
354
|
-
- [!507](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/507), [!575](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/575) - **BREAKING**: Transform keys to snake case, always, by default (ultimately via `rash_alt` gem)
|
355
295
|
- [!191](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/191) - **BREAKING**: Token is expired if `expired_at` time is `now` (@davestevens)
|
356
296
|
- [!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)
|
357
297
|
- [!317](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/317) - _Dependency_: Upgrade `jwt` to 2.x.x (@travisofthenorth)
|
@@ -365,29 +305,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
365
305
|
- Original keys will still work as previously, in most scenarios, thanks to `rash_alt` gem.
|
366
306
|
- However, this is a _breaking_ change if you rely on `response.parsed.to_h`, as the keys in the result will be snake case.
|
367
307
|
- As of version 2.0.4 you can turn key transformation off with the `snaky: false` option.
|
368
|
-
- [!576](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/576) - **BREAKING**: Stop rescuing parsing errors (@pboling)
|
369
|
-
- [!591](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/576) - _DEPRECATION_: `OAuth2::Client` - `:extract_access_token` option is deprecated
|
370
308
|
- [!576](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/576) - **BREAKING**: Stop rescuing parsing errors (@pboling)
|
371
309
|
- [!591](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/576) - _DEPRECATION_: `OAuth2::Client` - `:extract_access_token` option is deprecated
|
372
310
|
### Fixed
|
373
|
-
- [!158](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/158), [!344](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/344) - Handling of errors when using `omniauth-facebook` (@niels)
|
374
|
-
- [!294](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/294) - Fix: "Unexpected middleware set" issue with Faraday when `OAUTH_DEBUG=true` (@spectator, @gafrom)
|
375
|
-
- [!300](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/300) - _Documentation_: `Oauth2::Error` - Error codes are strings, not symbols (@NobodysNightmare)
|
376
|
-
- [!318](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/318), [!326](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/326), [!343](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/343), [!347](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/347), [!397](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/397), [!464](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/464), [!561](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/561), [!565](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/565) - _Dependency_: Support all versions of `faraday` (see [gemfiles/README.md][gemfiles/readme] for compatibility matrix with Ruby engines & versions) (@pboling, @raimondasv, @zacharywelch, @Fudoshiki, @ryogift, @sj26, @jdelStrother)
|
377
|
-
- [!322](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/322), [!331](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/331), [!337](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/337), [!361](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/361), [!371](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/371), [!377](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/377), [!383](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/383), [!392](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/392), [!395](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/395), [!400](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/400), [!401](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/401), [!403](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/403), [!415](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/415), [!567](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/567) - Updated Rubocop, Rubocop plugins and improved code style (@pboling, @bquorning, @lautis, @spectator)
|
378
|
-
- [!328](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/328) - _Documentation_: Homepage URL is SSL (@amatsuda)
|
379
|
-
- [!339](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/339), [!479](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/479) - Update testing infrastructure for all supported Rubies (@pboling and @josephpage)
|
380
|
-
- [!366](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/366) - **Security**: Fix logging to `$stdout` of request and response bodies via Faraday's logger and `ENV["OAUTH_DEBUG"] == 'true'` (@pboling)
|
381
|
-
- [!380](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/380) - Fix: Stop attempting to encode non-encodable objects in `Oauth2::Error` (@jhmoore)
|
382
|
-
- [!399](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/399) - Fix: Stop duplicating `redirect_uri` in `get_token` (@markus)
|
383
|
-
- [!410](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/410) - Fix: `SystemStackError` caused by circular reference between Error and Response classes (@jhmoore)
|
384
|
-
- [!460](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/460) - Fix: Stop throwing errors when `raise_errors` is set to `false`; analog of [!524](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/524) for `1-4-stable` branch (@joaolrpaulo)
|
385
|
-
- [!472](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/472) - **Security**: Add checks to enforce `client_secret` is *never* passed in authorize_url query params for `implicit` and `auth_code` grant types (@dfockler)
|
386
|
-
- [!482](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/482) - _Documentation_: Update last of `intridea` links to `oauth-xx` (@pboling)
|
387
|
-
- [!536](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/536) - **Security**: Compatibility with more (and recent) Ruby OpenSSL versions, Github Actions, Rubocop updated, analogous to [!535](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/535) on `1-4-stable` branch (@pboling)
|
388
|
-
- [!595](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/595) - Graceful handling of empty responses from `Client#get_token`, respecting `:raise_errors` config (@stanhu)
|
389
|
-
- [!596](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/596) - Consistency between `AccessToken#refresh` and `Client#get_token` named arguments (@stanhu)
|
390
|
-
- [!598](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/598) - Fix unparseable data not raised as error in `Client#get_token`, respecting `:raise_errors` config (@stanhu)
|
391
311
|
- [!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)
|
392
312
|
- [!294](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/294) - Fix: "Unexpected middleware set" issue with Faraday when `OAUTH_DEBUG=true` (@spectator, @gafrom)
|
393
313
|
- [!300](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/300) - _Documentation_: `Oauth2::Error` - Error codes are strings, not symbols (@NobodysNightmare)
|
@@ -407,12 +327,6 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
407
327
|
- [!596](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/596) - Consistency between `AccessToken#refresh` and `Client#get_token` named arguments (@stanhu)
|
408
328
|
- [!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)
|
409
329
|
### Removed
|
410
|
-
- [!341](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/341) - Remove Rdoc & Jeweler related files (@josephpage)
|
411
|
-
- [!342](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/342) - **BREAKING**: Dropped support for Ruby 1.8 (@josephpage)
|
412
|
-
- [!539](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/539) - Remove reliance on globally included OAuth2 in tests, analog of [!538](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/538) for 1-4-stable (@anderscarling)
|
413
|
-
- [!566](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/566) - _Dependency_: Removed `wwtd` (@bquorning)
|
414
|
-
- [!589](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/589), [!593](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/593) - Remove support for expired MAC token draft spec (@stanhu)
|
415
|
-
- [!590](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/590) - _Dependency_: Removed `multi_json` (@stanhu)
|
416
330
|
- [!341](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/341) - Remove Rdoc & Jeweler related files (@josephpage)
|
417
331
|
- [!342](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/342) - **BREAKING**: Dropped support for Ruby 1.8 (@josephpage)
|
418
332
|
- [!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)
|
@@ -427,12 +341,10 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
427
341
|
|
428
342
|
## [1.4.10] - 2022-07-01
|
429
343
|
- TAG: [v1.4.10][1.4.10t]
|
430
|
-
- FIPS Compatibility [!587](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/587) (@akostadinov)
|
431
344
|
- FIPS Compatibility [!587](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/587) (@akostadinov)
|
432
345
|
|
433
346
|
## [1.4.9] - 2022-02-20
|
434
347
|
- TAG: [v1.4.9][1.4.9t]
|
435
|
-
- Fixes compatibility with Faraday v2 [572](https://gitlab.com/oauth-xx/oauth2/-/issues/572)
|
436
348
|
- Fixes compatibility with Faraday v2 [572](https://gitlab.com/ruby-oauth/oauth2/-/issues/572)
|
437
349
|
- Includes supported versions of Faraday in test matrix:
|
438
350
|
- Faraday ~> 2.2.0 with Ruby >= 2.6
|
@@ -444,34 +356,24 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
444
356
|
- TAG: [v1.4.8][1.4.8t]
|
445
357
|
- MFA is now required to push new gem versions (@pboling)
|
446
358
|
- README overhaul w/ new Ruby Version and Engine compatibility policies (@pboling)
|
447
|
-
- [!569](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/569) Backport fixes ([!561](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/561) by @ryogift), and add more fixes, to allow faraday 1.x and 2.x (@jrochkind)
|
448
359
|
- [!569](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/569) Backport fixes ([!561](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/561) by @ryogift), and add more fixes, to allow faraday 1.x and 2.x (@jrochkind)
|
449
360
|
- Improve Code Coverage tracking (Coveralls, CodeCov, CodeClimate), and enable branch coverage (@pboling)
|
450
361
|
- Add CodeQL, Security Policy, Funding info (@pboling)
|
451
362
|
- Added Ruby 3.1, jruby, jruby-head, truffleruby, truffleruby-head to build matrix (@pboling)
|
452
|
-
- [!543](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/543) - Support for more modern Open SSL libraries (@pboling)
|
453
363
|
- [!543](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/543) - Support for more modern Open SSL libraries (@pboling)
|
454
364
|
|
455
365
|
## [1.4.7] - 2021-03-19
|
456
366
|
- TAG: [v1.4.7][1.4.7t]
|
457
|
-
- [!541](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/541) - Backport fix to expires_at handling [!533](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/533) to 1-4-stable branch. (@dobon)
|
458
367
|
- [!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)
|
459
368
|
|
460
369
|
## [1.4.6] - 2021-03-19
|
461
370
|
- TAG: [v1.4.6][1.4.6t]
|
462
|
-
- [!540](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/540) - Add VERSION constant (@pboling)
|
463
|
-
- [!537](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/537) - Fix crash in OAuth2::Client#get_token (@anderscarling)
|
464
|
-
- [!538](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/538) - Remove reliance on globally included OAuth2 in tests, analogous to [!539](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/539) on main branch (@anderscarling)
|
465
371
|
- [!540](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/540) - Add VERSION constant (@pboling)
|
466
372
|
- [!537](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/537) - Fix crash in OAuth2::Client#get_token (@anderscarling)
|
467
373
|
- [!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)
|
468
374
|
|
469
375
|
## [1.4.5] - 2021-03-18
|
470
376
|
- TAG: [v1.4.5][1.4.5t]
|
471
|
-
- [!535](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/535) - Compatibility with range of supported Ruby OpenSSL versions, Rubocop updates, Github Actions, analogous to [!536](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/536) on main branch (@pboling)
|
472
|
-
- [!518](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/518) - Add extract_access_token option to OAuth2::Client (@jonspalmer)
|
473
|
-
- [!507](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/507) - Fix camel case content type, response keys (@anvox)
|
474
|
-
- [!500](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/500) - Fix YARD documentation formatting (@olleolleolle)
|
475
377
|
- [!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)
|
476
378
|
- [!518](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/518) - Add extract_access_token option to OAuth2::Client (@jonspalmer)
|
477
379
|
- [!507](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/507) - Fix camel case content type, response keys (@anvox)
|
@@ -479,34 +381,22 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
479
381
|
|
480
382
|
## [1.4.4] - 2020-02-12
|
481
383
|
- TAG: [v1.4.4][1.4.4t]
|
482
|
-
- [!408](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/408) - Fixed expires_at for formatted time (@Lomey)
|
483
384
|
- [!408](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/408) - Fixed expires_at for formatted time (@Lomey)
|
484
385
|
|
485
386
|
## [1.4.3] - 2020-01-29
|
486
387
|
- TAG: [v1.4.3][1.4.3t]
|
487
|
-
- [!483](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/483) - add project metadata to gemspec (@orien)
|
488
|
-
- [!495](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/495) - support additional types of access token requests (@SteveyblamFreeagent, @thomcorley, @dgholz)
|
489
388
|
- [!483](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/483) - add project metadata to gemspec (@orien)
|
490
389
|
- [!495](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/495) - support additional types of access token requests (@SteveyblamFreeagent, @thomcorley, @dgholz)
|
491
390
|
- Adds support for private_key_jwt and tls_client_auth
|
492
|
-
- [!433](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/433) - allow field names with square brackets and numbers in params (@asm256)
|
493
391
|
- [!433](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/433) - allow field names with square brackets and numbers in params (@asm256)
|
494
392
|
|
495
393
|
## [1.4.2] - 2019-10-01
|
496
394
|
- TAG: [v1.4.2][1.4.2t]
|
497
|
-
- [!478](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/478) - support latest version of faraday & fix build (@pboling)
|
498
395
|
- [!478](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/478) - support latest version of faraday & fix build (@pboling)
|
499
396
|
- Officially support Ruby 2.6 and truffleruby
|
500
397
|
|
501
398
|
## [1.4.1] - 2018-10-13
|
502
399
|
- TAG: [v1.4.1][1.4.1t]
|
503
|
-
- [!417](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/417) - update jwt dependency (@thewoolleyman)
|
504
|
-
- [!419](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/419) - remove rubocop dependency (temporary, added back in [!423](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/423)) (@pboling)
|
505
|
-
- [!418](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/418) - update faraday dependency (@pboling)
|
506
|
-
- [!420](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/420) - update [oauth2.gemspec](https://gitlab.com/oauth-xx/oauth2/-/blob/1-4-stable/oauth2.gemspec) (@pboling)
|
507
|
-
- [!421](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/421) - fix [CHANGELOG.md](https://gitlab.com/oauth-xx/oauth2/-/blob/1-4-stable/CHANGELOG.md) for previous releases (@pboling)
|
508
|
-
- [!422](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/422) - update [LICENSE](https://gitlab.com/oauth-xx/oauth2/-/blob/1-4-stable/LICENSE) and [README.md](https://gitlab.com/oauth-xx/oauth2/-/blob/1-4-stable/README.md) (@pboling)
|
509
|
-
- [!423](https://gitlab.com/oauth-xx/oauth2/-/merge_requests/423) - update [builds](https://travis-ci.org/oauth-xx/oauth2/builds), [Rakefile](https://gitlab.com/oauth-xx/oauth2/-/blob/1-4-stable/Rakefile) (@pboling)
|
510
400
|
- [!417](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/417) - update jwt dependency (@thewoolleyman)
|
511
401
|
- [!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)
|
512
402
|
- [!418](https://gitlab.com/ruby-oauth/oauth2/-/merge_requests/418) - update faraday dependency (@pboling)
|
@@ -640,7 +530,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
640
530
|
|
641
531
|
[gemfiles/readme]: gemfiles/README.md
|
642
532
|
|
643
|
-
[Unreleased]: https://github.com/ruby-oauth/oauth2/compare/v2.0.
|
533
|
+
[Unreleased]: https://github.com/ruby-oauth/oauth2/compare/v2.0.15...HEAD
|
534
|
+
[2.0.15]: https://github.com/ruby-oauth/oauth2/compare/v2.0.14...v2.0.15
|
535
|
+
[2.0.15t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.15
|
644
536
|
[2.0.14]: https://github.com/ruby-oauth/oauth2/compare/v2.0.13...v2.0.14
|
645
537
|
[2.0.14t]: https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.14
|
646
538
|
[2.0.13]: https://github.com/ruby-oauth/oauth2/compare/v2.0.12...v2.0.13
|
data/CONTRIBUTING.md
CHANGED
@@ -22,6 +22,35 @@ Follow these instructions:
|
|
22
22
|
6. Make sure to add tests for it. This is important, so it doesn't break in a future release.
|
23
23
|
7. Create new Pull Request.
|
24
24
|
|
25
|
+
## Executables vs Rake tasks
|
26
|
+
|
27
|
+
Executables shipped by oauth2 can be used with or without generating the binstubs.
|
28
|
+
They will work when oauth2 is installed globally (i.e., `gem install oauth2`) and do not require that oauth2 be in your bundle.
|
29
|
+
|
30
|
+
- kettle-changelog
|
31
|
+
- kettle-commit-msg
|
32
|
+
- oauth2-setup
|
33
|
+
- kettle-dvcs
|
34
|
+
- kettle-pre-release
|
35
|
+
- kettle-readme-backers
|
36
|
+
- kettle-release
|
37
|
+
|
38
|
+
However, the rake tasks provided by oauth2 do require oauth2 to be added as a development dependency and loaded in your Rakefile.
|
39
|
+
See the full list of rake tasks in head of Rakefile
|
40
|
+
|
41
|
+
**Gemfile**
|
42
|
+
```ruby
|
43
|
+
group :development do
|
44
|
+
gem "oauth2", require: false
|
45
|
+
end
|
46
|
+
```
|
47
|
+
|
48
|
+
**Rakefile**
|
49
|
+
```ruby
|
50
|
+
# Rakefile
|
51
|
+
require "oauth2"
|
52
|
+
```
|
53
|
+
|
25
54
|
## Environment Variables for Local Development
|
26
55
|
|
27
56
|
Below are the primary environment variables recognized by stone_checksums (and its integrated tools). Unless otherwise noted, set boolean values to the string "true" to enable.
|
@@ -89,9 +118,10 @@ bundle exec rake test
|
|
89
118
|
|
90
119
|
### Spec organization (required)
|
91
120
|
|
92
|
-
- For each class or module under `lib/`, keep all of its unit tests in a single spec file under `spec/` that mirrors the path and file name
|
93
|
-
-
|
94
|
-
-
|
121
|
+
- One spec file per class/module. For each class or module under `lib/`, keep all of its unit tests in a single spec file under `spec/` that mirrors the path and file name exactly: `lib/oauth2/release_cli.rb` -> `spec/oauth2/release_cli_spec.rb`.
|
122
|
+
- Never add a second spec file for the same class/module. Examples of disallowed names: `*_more_spec.rb`, `*_extra_spec.rb`, `*_status_spec.rb`, or any other suffix that still targets the same class. If you find yourself wanting a second file, merge those examples into the canonical spec file for that class/module.
|
123
|
+
- Exception: Integration specs that intentionally span multiple classes. Place these under `spec/integration/` (or a clearly named integration folder), and do not directly mirror a single class. Name them after the scenario, not a class.
|
124
|
+
- Migration note: If a duplicate spec file exists, move all examples into the canonical file and delete the duplicate. Do not leave stubs or empty files behind.
|
95
125
|
|
96
126
|
## Lint It
|
97
127
|
|
@@ -146,7 +176,9 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
|
|
146
176
|
|
147
177
|
#### Automated process
|
148
178
|
|
149
|
-
|
179
|
+
1. Update version.rb to contian the correct version-to-be-released.
|
180
|
+
2. Run `bundle exec kettle-changelog`.
|
181
|
+
3. Run `bundle exec kettle-release`.
|
150
182
|
|
151
183
|
#### Manual process
|
152
184
|
|
data/FUNDING.md
CHANGED
@@ -18,11 +18,11 @@ Many paths lead to being a sponsor or a backer of this project. Are you on such
|
|
18
18
|
[🖇sponsor]: https://github.com/sponsors/pboling
|
19
19
|
[🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
|
20
20
|
[🖇polar]: https://polar.sh/pboling
|
21
|
-
[🖇kofi-img]: https://img.shields.io/badge/ko--fi
|
21
|
+
[🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
|
22
22
|
[🖇kofi]: https://ko-fi.com/O5O86SNP4
|
23
23
|
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
|
24
24
|
[🖇patreon]: https://patreon.com/galtzo
|
25
|
-
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee
|
25
|
+
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
|
26
26
|
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
27
27
|
[🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
|
28
28
|
[🖇paypal]: https://www.paypal.com/paypalme/peterboling
|
data/README.md
CHANGED
@@ -1,23 +1,23 @@
|
|
1
1
|
[![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![oauth2 Logo by Chris Messina, CC BY-SA 3.0][🖼️oauth2-i]][🖼️oauth2]
|
2
2
|
|
3
|
-
[🖼️oauth2-i]: https://logos.galtzo.com/assets/images/oauth/oauth2/avatar-192px.svg
|
4
|
-
[🖼️oauth2]: https://github.com/ruby-oauth/oauth2
|
5
|
-
[🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg
|
6
|
-
[🖼️ruby-lang]: https://www.ruby-lang.org/
|
7
3
|
[🖼️galtzo-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
|
8
4
|
[🖼️galtzo-discord]: https://discord.gg/3qme4XHNKN
|
5
|
+
[🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg
|
6
|
+
[🖼️ruby-lang]: https://www.ruby-lang.org/
|
7
|
+
[🖼️oauth2-i]: https://logos.galtzo.com/assets/images/oauth/oauth2/avatar-192px.svg
|
8
|
+
[🖼️oauth2]: https://github.com/ruby-oauth/oauth2
|
9
9
|
|
10
10
|
# 🔐 OAuth 2.0 Authorization Framework
|
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
|
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]
|
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
|
|
18
18
|
---
|
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
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]
|
23
23
|
|
@@ -78,7 +78,7 @@ If it seems like you are in the wrong place, you might try one of these:
|
|
78
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
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
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]][🚎
|
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
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
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
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] |
|
@@ -91,9 +91,11 @@ If it seems like you are in the wrong place, you might try one of these:
|
|
91
91
|
|
92
92
|
* Operating Systems: Linux, MacOS, Windows
|
93
93
|
* MRI Ruby @ v2.3, v2.4, v2.5, v2.6, v2.7, v3.0, v3.1, v3.2, v3.3, v3.4, HEAD
|
94
|
-
* NOTE: This gem
|
95
|
-
* JRuby @ v9.
|
94
|
+
* NOTE: This gem may still _install_ and _run_ on ruby v2.2, but vanilla GitHub Actions no longer supports testing against it, so YMMV. Accept patches so long as they don't break the platforms that do run in CI.
|
95
|
+
* JRuby @ v9.4, v10.0, HEAD
|
96
|
+
* NOTE: This gem may still _install_ and _run_ on JRuby v9.2 and v9.3, but they are EOL, builds are flaky, and GitHub Actions [doesn't have][GHA-continue-on-error-ui] a proper [`allow-failures` feature][GHA-allow-failure], and until they do flaky EOL-platform builds get dropped, so YMMV. Accept patches so long as they don't break the platforms that do run in CI.
|
96
97
|
* TruffleRuby @ v23.1, v24.1, HEAD
|
98
|
+
* NOTE: This gem may still _install_ and _run_ on Truffleruby v22.3 and v23.0, but they are EOL, builds are flaky, and GitHub Actions [doesn't have][GHA-continue-on-error-ui] a proper [`allow-failures` feature][GHA-allow-failure], and until they do flaky EOL-platform builds get dropped, so YMMV. Accept patches so long as they don't break the platforms that do run in CI.
|
97
99
|
* gem `faraday` @ v0, v1, v2, HEAD ⏩️ [lostisland/faraday](https://github.com/lostisland/faraday)
|
98
100
|
* gem `jwt` @ v1, v2, v3, HEAD ⏩️ [jwt/ruby-jwt](https://github.com/jwt/ruby-jwt)
|
99
101
|
* gem `logger` @ v1.2, v1.5, v1.7, HEAD ⏩️ [ruby/logger](https://github.com/ruby/logger)
|
@@ -109,6 +111,9 @@ Also, where reasonable, tested against the runtime dependencies of those depende
|
|
109
111
|
|
110
112
|
* gem `hashie` @ v0, v1, v2, v3, v4, v5, HEAD ⏩️ [hashie/hashie](https://github.com/hashie/hashie)
|
111
113
|
|
114
|
+
[GHA-continue-on-error-ui]: https://github.com/actions/runner/issues/2347#issuecomment-2653479732
|
115
|
+
[GHA-allow-failure]: https://github.com/orgs/community/discussions/15452
|
116
|
+
|
112
117
|
#### Upgrading Runtime Gem Dependencies
|
113
118
|
|
114
119
|
This project sits underneath a large portion of the authorization systems on the internet.
|
@@ -123,12 +128,12 @@ leading versions per each minor version of Ruby of all the runtime dependencies
|
|
123
128
|
|
124
129
|
What does that mean specifically for the runtime dependencies?
|
125
130
|
|
126
|
-
We have 100% test coverage of lines and branches, and this test suite runs across a large matrix
|
127
|
-
|
131
|
+
We have 100% test coverage of lines and branches, and this test suite runs across a very large matrix.
|
132
|
+
It wouldn't be possible without appraisal2.
|
128
133
|
|
129
|
-
| 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎
|
130
|
-
|
131
|
-
| 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2]
|
134
|
+
| 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
|
135
|
+
|------------------------------------------------|--------------------------------------------------------|
|
136
|
+
| 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
|
132
137
|
|
133
138
|
#### You should upgrade this gem with confidence\*.
|
134
139
|
|
@@ -138,7 +143,7 @@ covering the latest patch for each of the following minor versions:
|
|
138
143
|
- You should upgrade the dependencies of this gem with confidence\*.
|
139
144
|
- Please do upgrade, and then, when it goes smooth as butter [please sponsor me][🖇sponsor]. Thanks!
|
140
145
|
|
141
|
-
[sv-pub-api]: #-
|
146
|
+
[sv-pub-api]: #-versioning
|
142
147
|
|
143
148
|
\* MIT license; The only guarantees I make are for [enterprise support](#enterprise-support).
|
144
149
|
|
@@ -160,7 +165,7 @@ If you use a gem version of a core Ruby library it should work fine!
|
|
160
165
|
### Federated DVCS
|
161
166
|
|
162
167
|
<details>
|
163
|
-
<summary>Find this repo on other forges
|
168
|
+
<summary>Find this repo on other forges</summary>
|
164
169
|
|
165
170
|
| Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
|
166
171
|
|-----------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
|
@@ -678,6 +683,18 @@ using various class methods including the standard new, `from_hash` (if you have
|
|
678
683
|
a hash of the values), or `from_kvform` (if you have an
|
679
684
|
`application/x-www-form-urlencoded` encoded string of the values).
|
680
685
|
|
686
|
+
Options (since v2.0.x unless noted):
|
687
|
+
- expires_latency (Integer | nil): Seconds to subtract from expires_in when computing #expired? to offset latency.
|
688
|
+
- token_name (String | Symbol | nil): When multiple token-like fields exist in responses, select the field name to use as the access token (since v2.0.10).
|
689
|
+
- mode (Symbol | Proc | Hash): Controls how the token is transmitted on requests made via this AccessToken instance.
|
690
|
+
- :header — Send as Authorization: Bearer <token> header (default and preferred by OAuth 2.1 draft guidance).
|
691
|
+
- :query — Send as access_token query parameter (discouraged in general, but required by some providers).
|
692
|
+
- Verb-dependent (since v2.0.15): Provide either:
|
693
|
+
- a Proc taking |verb| and returning :header or :query, or
|
694
|
+
- a Hash with verb symbols as keys, for example: {get: :query, post: :header, delete: :header}.
|
695
|
+
|
696
|
+
Note: Verb-dependent mode was added in v2.0.15 to support providers like Instagram that require query mode for GET and header mode for POST/DELETE.
|
697
|
+
|
681
698
|
### OAuth2::Error
|
682
699
|
|
683
700
|
On 400+ status code responses, an `OAuth2::Error` will be raised. If it is a
|
@@ -847,6 +864,76 @@ Notes:
|
|
847
864
|
|
848
865
|
</details>
|
849
866
|
|
867
|
+
### Instagram API (verb‑dependent token mode)
|
868
|
+
|
869
|
+
Providers like Instagram require the access token to be sent differently depending on the HTTP verb:
|
870
|
+
- GET requests: token must be in the query string (?access_token=...)
|
871
|
+
- POST/DELETE requests: token must be in the Authorization header (Bearer ...)
|
872
|
+
|
873
|
+
Since v2.0.15, you can configure an AccessToken with a verb‑dependent mode. The gem will choose how to send the token based on the request method.
|
874
|
+
|
875
|
+
Example: exchanging and refreshing long‑lived Instagram tokens, and making API calls
|
876
|
+
|
877
|
+
```ruby
|
878
|
+
require "oauth2"
|
879
|
+
|
880
|
+
# NOTE: Users authenticate via Facebook Login to obtain a short‑lived user token (not shown here).
|
881
|
+
# See Facebook Login docs for obtaining the initial short‑lived token.
|
882
|
+
|
883
|
+
client = OAuth2::Client.new(nil, nil, site: "https://graph.instagram.com")
|
884
|
+
|
885
|
+
# Start with a short‑lived token you already obtained via Facebook Login
|
886
|
+
short_lived = OAuth2::AccessToken.new(
|
887
|
+
client,
|
888
|
+
ENV["IG_SHORT_LIVED_TOKEN"],
|
889
|
+
# Key part: verb‑dependent mode
|
890
|
+
mode: {get: :query, post: :header, delete: :header},
|
891
|
+
)
|
892
|
+
|
893
|
+
# 1) Exchange for a long‑lived token (Instagram requires GET with access_token in query)
|
894
|
+
# Endpoint: GET https://graph.instagram.com/access_token
|
895
|
+
# Params: grant_type=ig_exchange_token, client_secret=APP_SECRET
|
896
|
+
exchange = short_lived.get(
|
897
|
+
"/access_token",
|
898
|
+
params: {
|
899
|
+
grant_type: "ig_exchange_token",
|
900
|
+
client_secret: ENV["IG_APP_SECRET"],
|
901
|
+
# access_token param will be added automatically by the AccessToken (mode => :query for GET)
|
902
|
+
},
|
903
|
+
)
|
904
|
+
long_lived_token_value = exchange.parsed["access_token"]
|
905
|
+
|
906
|
+
long_lived = OAuth2::AccessToken.new(
|
907
|
+
client,
|
908
|
+
long_lived_token_value,
|
909
|
+
mode: {get: :query, post: :header, delete: :header},
|
910
|
+
)
|
911
|
+
|
912
|
+
# 2) Refresh the long‑lived token (Instagram uses GET with token in query)
|
913
|
+
# Endpoint: GET https://graph.instagram.com/refresh_access_token
|
914
|
+
refresh_resp = long_lived.get(
|
915
|
+
"/refresh_access_token",
|
916
|
+
params: {grant_type: "ig_refresh_token"},
|
917
|
+
)
|
918
|
+
long_lived = OAuth2::AccessToken.new(
|
919
|
+
client,
|
920
|
+
refresh_resp.parsed["access_token"],
|
921
|
+
mode: {get: :query, post: :header, delete: :header},
|
922
|
+
)
|
923
|
+
|
924
|
+
# 3) Typical API GET request (token in query automatically)
|
925
|
+
me = long_lived.get("/me", params: {fields: "id,username"}).parsed
|
926
|
+
|
927
|
+
# 4) Example POST (token sent via Bearer header automatically)
|
928
|
+
# Note: Replace the path/params with a real Instagram Graph API POST you need,
|
929
|
+
# such as publishing media via the Graph API endpoints.
|
930
|
+
# long_lived.post("/me/media", body: {image_url: "https://...", caption: "hello"})
|
931
|
+
```
|
932
|
+
|
933
|
+
Tips:
|
934
|
+
- Avoid query‑string bearer tokens unless required by your provider. Instagram explicitly requires it for GET.
|
935
|
+
- If you need a custom rule, you can pass a Proc for mode, e.g. mode: ->(verb) { verb == :get ? :query : :header }.
|
936
|
+
|
850
937
|
### Refresh Tokens
|
851
938
|
|
852
939
|
When the server issues a refresh_token, you can refresh manually or implement an auto-refresh wrapper.
|
@@ -1279,7 +1366,7 @@ To join the community or get help 👇️ Join the Discord.
|
|
1279
1366
|
|
1280
1367
|
[![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
1281
1368
|
|
1282
|
-
To say "thanks
|
1369
|
+
To say "thanks!" ☝️ Join the Discord or 👇️ send money.
|
1283
1370
|
|
1284
1371
|
[![Sponsor ruby-oauth/oauth2 on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay-img] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal-img]
|
1285
1372
|
|
@@ -1306,11 +1393,11 @@ Thanks for RTFM. ☺️
|
|
1306
1393
|
[🖇sponsor]: https://github.com/sponsors/pboling
|
1307
1394
|
[🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
|
1308
1395
|
[🖇polar]: https://polar.sh/pboling
|
1309
|
-
[🖇kofi-img]: https://img.shields.io/badge/ko--fi
|
1396
|
+
[🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
|
1310
1397
|
[🖇kofi]: https://ko-fi.com/O5O86SNP4
|
1311
1398
|
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
|
1312
1399
|
[🖇patreon]: https://patreon.com/galtzo
|
1313
|
-
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee
|
1400
|
+
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
|
1314
1401
|
[🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
|
1315
1402
|
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
1316
1403
|
[🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
|
@@ -1342,7 +1429,7 @@ Thanks for RTFM. ☺️
|
|
1342
1429
|
[💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
|
1343
1430
|
[💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
|
1344
1431
|
[💖🐘ruby-mast]: https://ruby.social/@galtzo
|
1345
|
-
[💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https
|
1432
|
+
[💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https://ruby.social&style=flat&logo=mastodon&label=Ruby%20@galtzo
|
1346
1433
|
[💖🦋bluesky]: https://bsky.app/profile/galtzo.com
|
1347
1434
|
[💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
|
1348
1435
|
[💖🌳linktree]: https://linktr.ee/galtzo
|
@@ -1412,8 +1499,8 @@ Thanks for RTFM. ☺️
|
|
1412
1499
|
[🚎10-j-wfi]: https://github.com/ruby-oauth/oauth2/actions/workflows/jruby.yml/badge.svg
|
1413
1500
|
[🚎11-c-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/current.yml
|
1414
1501
|
[🚎11-c-wfi]: https://github.com/ruby-oauth/oauth2/actions/workflows/current.yml/badge.svg
|
1415
|
-
[🚎12-crh-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/
|
1416
|
-
[🚎12-crh-wfi]: https://github.com/ruby-oauth/oauth2/actions/workflows/
|
1502
|
+
[🚎12-crh-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/dep-heads.yml
|
1503
|
+
[🚎12-crh-wfi]: https://github.com/ruby-oauth/oauth2/actions/workflows/dep-heads.yml/badge.svg
|
1417
1504
|
[🚎13-cbs-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/caboose.yml
|
1418
1505
|
[🚎13-cbs-wfi]: https://github.com/ruby-oauth/oauth2/actions/workflows/caboose.yml/badge.svg
|
1419
1506
|
[🚎13-🔒️-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/locked_deps.yml
|
@@ -1467,7 +1554,7 @@ Thanks for RTFM. ☺️
|
|
1467
1554
|
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
1468
1555
|
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
|
1469
1556
|
[📌gitmoji]:https://gitmoji.dev
|
1470
|
-
[📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20
|
1557
|
+
[📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
1471
1558
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
1472
1559
|
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.519-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
1473
1560
|
[🔐security]: SECURITY.md
|
@@ -1483,7 +1570,7 @@ Thanks for RTFM. ☺️
|
|
1483
1570
|
[💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
|
1484
1571
|
[💎SHA_checksums]: https://gitlab.com/ruby-oauth/oauth2/-/tree/main/checksums
|
1485
1572
|
[💎rlts]: https://github.com/rubocop-lts/rubocop-lts
|
1486
|
-
[💎rlts-img]: https://img.shields.io/badge/code_style_
|
1573
|
+
[💎rlts-img]: https://img.shields.io/badge/code_style_&_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
|
1487
1574
|
[💎appraisal2]: https://github.com/appraisal-rb/appraisal2
|
1488
1575
|
[💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
|
1489
1576
|
[💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
|
@@ -1493,8 +1580,8 @@ Thanks for RTFM. ☺️
|
|
1493
1580
|
rel="me" Social Proofs
|
1494
1581
|
</summary>
|
1495
1582
|
|
1496
|
-
<a rel="me" alt="Follow me on Ruby.social" href="https://ruby.social/@galtzo"><img src="https://img.shields.io/mastodon/follow/109447111526622197?domain=https
|
1497
|
-
<a rel="me" alt="Follow me on FLOSS.social" href="https://floss.social/@galtzo"><img src="https://img.shields.io/mastodon/follow/110304921404405715?domain=https
|
1583
|
+
<a rel="me" alt="Follow me on Ruby.social" href="https://ruby.social/@galtzo"><img src="https://img.shields.io/mastodon/follow/109447111526622197?domain=https://ruby.social&style=social&label=Follow%20@galtzo%20on%20Ruby.social"></a>
|
1584
|
+
<a rel="me" alt="Follow me on FLOSS.social" href="https://floss.social/@galtzo"><img src="https://img.shields.io/mastodon/follow/110304921404405715?domain=https://floss.social&style=social&label=Follow%20@galtzo%20on%20Floss.social"></a>
|
1498
1585
|
|
1499
1586
|
</details>
|
1500
1587
|
|
data/SECURITY.md
CHANGED
@@ -2,15 +2,9 @@
|
|
2
2
|
|
3
3
|
## Supported Versions
|
4
4
|
|
5
|
-
| Version | Supported |
|
6
|
-
|
7
|
-
|
|
8
|
-
| 1.latest | ✅ | [Tidelift Subscription][tidelift-ref] |
|
9
|
-
| <= 1 | ⛔ | ⛔ |
|
10
|
-
|
11
|
-
### EOL Policy
|
12
|
-
|
13
|
-
Non-commercial support for the oldest version of Ruby (which itself is going EOL) will be dropped each year in April.
|
5
|
+
| Version | Supported |
|
6
|
+
|----------|-----------|
|
7
|
+
| 1.latest | ✅ |
|
14
8
|
|
15
9
|
## Security contact information
|
16
10
|
|
@@ -25,11 +19,3 @@ please consider sponsoring the project / maintainer @ https://liberapay.com/pbol
|
|
25
19
|
or find other sponsorship links in the [README].
|
26
20
|
|
27
21
|
[README]: README.md
|
28
|
-
|
29
|
-
## Enterprise Support
|
30
|
-
|
31
|
-
Available as part of the Tidelift Subscription.
|
32
|
-
|
33
|
-
The maintainers of this library and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use. [Learn more.][tidelift-ref]
|
34
|
-
|
35
|
-
[tidelift-ref]: https://tidelift.com/subscription/pkg/rubygems-oauth2?utm_source=rubygems-oauth2&utm_medium=referral&utm_campaign=enterprise&utm_term=repo
|
data/lib/oauth2/access_token.rb
CHANGED
@@ -132,8 +132,9 @@ 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] :mode (:header) the transmission mode of the Access Token parameter value
|
136
|
-
# one of :header, :body or :query
|
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
|
137
|
+
# and returns one of these three symbols.
|
137
138
|
# @option opts [String] :header_format ('Bearer %s') the string format to use for the Authorization header
|
138
139
|
# @option opts [String] :param_name ('access_token') the parameter name to use for transmission of the
|
139
140
|
# Access Token value in :body or :query transmission mode
|
@@ -324,7 +325,7 @@ You may need to set `snaky: false`. See inline documentation for more info.
|
|
324
325
|
#
|
325
326
|
# @see OAuth2::Client#request
|
326
327
|
def request(verb, path, opts = {}, &block)
|
327
|
-
configure_authentication!(opts)
|
328
|
+
configure_authentication!(opts, verb)
|
328
329
|
@client.request(verb, path, opts, &block)
|
329
330
|
end
|
330
331
|
|
@@ -370,8 +371,9 @@ You may need to set `snaky: false`. See inline documentation for more info.
|
|
370
371
|
|
371
372
|
private
|
372
373
|
|
373
|
-
def configure_authentication!(opts)
|
374
|
-
|
374
|
+
def configure_authentication!(opts, verb)
|
375
|
+
mode = options[:mode].respond_to?(:call) ? options[:mode].call(verb) : options[:mode]
|
376
|
+
case mode
|
375
377
|
when :header
|
376
378
|
opts[:headers] ||= {}
|
377
379
|
opts[:headers].merge!(headers)
|
@@ -389,7 +391,7 @@ You may need to set `snaky: false`. See inline documentation for more info.
|
|
389
391
|
end
|
390
392
|
# @todo support for multi-part (file uploads)
|
391
393
|
else
|
392
|
-
raise("invalid :mode option of #{
|
394
|
+
raise("invalid :mode option of #{mode}")
|
393
395
|
end
|
394
396
|
end
|
395
397
|
|
data/lib/oauth2/version.rb
CHANGED
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.
|
4
|
+
version: 2.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Boling
|
@@ -207,8 +207,90 @@ dependencies:
|
|
207
207
|
- - ">="
|
208
208
|
- !ruby/object:Gem::Version
|
209
209
|
version: 3.25.1
|
210
|
+
- !ruby/object:Gem::Dependency
|
211
|
+
name: nkf
|
212
|
+
requirement: !ruby/object:Gem::Requirement
|
213
|
+
requirements:
|
214
|
+
- - "~>"
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '0.2'
|
217
|
+
type: :development
|
218
|
+
prerelease: false
|
219
|
+
version_requirements: !ruby/object:Gem::Requirement
|
220
|
+
requirements:
|
221
|
+
- - "~>"
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
version: '0.2'
|
224
|
+
- !ruby/object:Gem::Dependency
|
225
|
+
name: rexml
|
226
|
+
requirement: !ruby/object:Gem::Requirement
|
227
|
+
requirements:
|
228
|
+
- - "~>"
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: '3.2'
|
231
|
+
- - ">="
|
232
|
+
- !ruby/object:Gem::Version
|
233
|
+
version: 3.2.5
|
234
|
+
type: :development
|
235
|
+
prerelease: false
|
236
|
+
version_requirements: !ruby/object:Gem::Requirement
|
237
|
+
requirements:
|
238
|
+
- - "~>"
|
239
|
+
- !ruby/object:Gem::Version
|
240
|
+
version: '3.2'
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: 3.2.5
|
210
244
|
- !ruby/object:Gem::Dependency
|
211
245
|
name: kettle-dev
|
246
|
+
requirement: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - "~>"
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '1.1'
|
251
|
+
- - ">="
|
252
|
+
- !ruby/object:Gem::Version
|
253
|
+
version: 1.1.9
|
254
|
+
type: :development
|
255
|
+
prerelease: false
|
256
|
+
version_requirements: !ruby/object:Gem::Requirement
|
257
|
+
requirements:
|
258
|
+
- - "~>"
|
259
|
+
- !ruby/object:Gem::Version
|
260
|
+
version: '1.1'
|
261
|
+
- - ">="
|
262
|
+
- !ruby/object:Gem::Version
|
263
|
+
version: 1.1.9
|
264
|
+
- !ruby/object:Gem::Dependency
|
265
|
+
name: bundler-audit
|
266
|
+
requirement: !ruby/object:Gem::Requirement
|
267
|
+
requirements:
|
268
|
+
- - "~>"
|
269
|
+
- !ruby/object:Gem::Version
|
270
|
+
version: 0.9.2
|
271
|
+
type: :development
|
272
|
+
prerelease: false
|
273
|
+
version_requirements: !ruby/object:Gem::Requirement
|
274
|
+
requirements:
|
275
|
+
- - "~>"
|
276
|
+
- !ruby/object:Gem::Version
|
277
|
+
version: 0.9.2
|
278
|
+
- !ruby/object:Gem::Dependency
|
279
|
+
name: rake
|
280
|
+
requirement: !ruby/object:Gem::Requirement
|
281
|
+
requirements:
|
282
|
+
- - "~>"
|
283
|
+
- !ruby/object:Gem::Version
|
284
|
+
version: '13.0'
|
285
|
+
type: :development
|
286
|
+
prerelease: false
|
287
|
+
version_requirements: !ruby/object:Gem::Requirement
|
288
|
+
requirements:
|
289
|
+
- - "~>"
|
290
|
+
- !ruby/object:Gem::Version
|
291
|
+
version: '13.0'
|
292
|
+
- !ruby/object:Gem::Dependency
|
293
|
+
name: require_bench
|
212
294
|
requirement: !ruby/object:Gem::Requirement
|
213
295
|
requirements:
|
214
296
|
- - "~>"
|
@@ -216,7 +298,7 @@ dependencies:
|
|
216
298
|
version: '1.0'
|
217
299
|
- - ">="
|
218
300
|
- !ruby/object:Gem::Version
|
219
|
-
version: 1.0.
|
301
|
+
version: 1.0.4
|
220
302
|
type: :development
|
221
303
|
prerelease: false
|
222
304
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -226,45 +308,114 @@ dependencies:
|
|
226
308
|
version: '1.0'
|
227
309
|
- - ">="
|
228
310
|
- !ruby/object:Gem::Version
|
229
|
-
version: 1.0.
|
311
|
+
version: 1.0.4
|
230
312
|
- !ruby/object:Gem::Dependency
|
231
|
-
name:
|
313
|
+
name: appraisal2
|
232
314
|
requirement: !ruby/object:Gem::Requirement
|
233
315
|
requirements:
|
234
316
|
- - "~>"
|
235
317
|
- !ruby/object:Gem::Version
|
236
|
-
version: '0
|
318
|
+
version: '3.0'
|
237
319
|
type: :development
|
238
320
|
prerelease: false
|
239
321
|
version_requirements: !ruby/object:Gem::Requirement
|
240
322
|
requirements:
|
241
323
|
- - "~>"
|
242
324
|
- !ruby/object:Gem::Version
|
243
|
-
version: '0
|
325
|
+
version: '3.0'
|
244
326
|
- !ruby/object:Gem::Dependency
|
245
|
-
name:
|
327
|
+
name: kettle-test
|
246
328
|
requirement: !ruby/object:Gem::Requirement
|
247
329
|
requirements:
|
248
330
|
- - "~>"
|
249
331
|
- !ruby/object:Gem::Version
|
250
|
-
version: '
|
332
|
+
version: '1.0'
|
333
|
+
type: :development
|
334
|
+
prerelease: false
|
335
|
+
version_requirements: !ruby/object:Gem::Requirement
|
336
|
+
requirements:
|
337
|
+
- - "~>"
|
338
|
+
- !ruby/object:Gem::Version
|
339
|
+
version: '1.0'
|
340
|
+
- !ruby/object:Gem::Dependency
|
341
|
+
name: rspec-pending_for
|
342
|
+
requirement: !ruby/object:Gem::Requirement
|
343
|
+
requirements:
|
344
|
+
- - "~>"
|
345
|
+
- !ruby/object:Gem::Version
|
346
|
+
version: '0.0'
|
251
347
|
- - ">="
|
252
348
|
- !ruby/object:Gem::Version
|
253
|
-
version:
|
349
|
+
version: 0.0.17
|
254
350
|
type: :development
|
255
351
|
prerelease: false
|
256
352
|
version_requirements: !ruby/object:Gem::Requirement
|
257
353
|
requirements:
|
258
354
|
- - "~>"
|
259
355
|
- !ruby/object:Gem::Version
|
260
|
-
version: '
|
356
|
+
version: '0.0'
|
261
357
|
- - ">="
|
262
358
|
- !ruby/object:Gem::Version
|
263
|
-
version:
|
359
|
+
version: 0.0.17
|
360
|
+
- !ruby/object:Gem::Dependency
|
361
|
+
name: ruby-progressbar
|
362
|
+
requirement: !ruby/object:Gem::Requirement
|
363
|
+
requirements:
|
364
|
+
- - "~>"
|
365
|
+
- !ruby/object:Gem::Version
|
366
|
+
version: '1.13'
|
367
|
+
type: :development
|
368
|
+
prerelease: false
|
369
|
+
version_requirements: !ruby/object:Gem::Requirement
|
370
|
+
requirements:
|
371
|
+
- - "~>"
|
372
|
+
- !ruby/object:Gem::Version
|
373
|
+
version: '1.13'
|
374
|
+
- !ruby/object:Gem::Dependency
|
375
|
+
name: stone_checksums
|
376
|
+
requirement: !ruby/object:Gem::Requirement
|
377
|
+
requirements:
|
378
|
+
- - "~>"
|
379
|
+
- !ruby/object:Gem::Version
|
380
|
+
version: '1.0'
|
381
|
+
- - ">="
|
382
|
+
- !ruby/object:Gem::Version
|
383
|
+
version: 1.0.2
|
384
|
+
type: :development
|
385
|
+
prerelease: false
|
386
|
+
version_requirements: !ruby/object:Gem::Requirement
|
387
|
+
requirements:
|
388
|
+
- - "~>"
|
389
|
+
- !ruby/object:Gem::Version
|
390
|
+
version: '1.0'
|
391
|
+
- - ">="
|
392
|
+
- !ruby/object:Gem::Version
|
393
|
+
version: 1.0.2
|
394
|
+
- !ruby/object:Gem::Dependency
|
395
|
+
name: gitmoji-regex
|
396
|
+
requirement: !ruby/object:Gem::Requirement
|
397
|
+
requirements:
|
398
|
+
- - "~>"
|
399
|
+
- !ruby/object:Gem::Version
|
400
|
+
version: '1.0'
|
401
|
+
- - ">="
|
402
|
+
- !ruby/object:Gem::Version
|
403
|
+
version: 1.0.3
|
404
|
+
type: :development
|
405
|
+
prerelease: false
|
406
|
+
version_requirements: !ruby/object:Gem::Requirement
|
407
|
+
requirements:
|
408
|
+
- - "~>"
|
409
|
+
- !ruby/object:Gem::Version
|
410
|
+
version: '1.0'
|
411
|
+
- - ">="
|
412
|
+
- !ruby/object:Gem::Version
|
413
|
+
version: 1.0.3
|
264
414
|
description: "\U0001F510 A Ruby wrapper for the OAuth 2.0 Authorization Framework,
|
265
415
|
including the OAuth 2.1 draft spec, and OpenID Connect (OIDC)"
|
266
416
|
email:
|
267
417
|
- floss@galtzo.com
|
418
|
+
- oauth-ruby@googlegroups.com
|
268
419
|
executables: []
|
269
420
|
extensions: []
|
270
421
|
extra_rdoc_files:
|
@@ -319,10 +470,10 @@ licenses:
|
|
319
470
|
- MIT
|
320
471
|
metadata:
|
321
472
|
homepage_uri: https://oauth2.galtzo.com/
|
322
|
-
source_code_uri: https://github.com/ruby-oauth/oauth2/tree/v2.0.
|
323
|
-
changelog_uri: https://github.com/ruby-oauth/oauth2/blob/v2.0.
|
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
|
324
475
|
bug_tracker_uri: https://github.com/ruby-oauth/oauth2/issues
|
325
|
-
documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.
|
476
|
+
documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.15
|
326
477
|
mailing_list_uri: https://groups.google.com/g/oauth-ruby
|
327
478
|
funding_uri: https://github.com/sponsors/pboling
|
328
479
|
wiki_uri: https://gitlab.com/ruby-oauth/oauth2/-/wiki
|
@@ -331,11 +482,11 @@ metadata:
|
|
331
482
|
rubygems_mfa_required: 'true'
|
332
483
|
post_install_message: |2
|
333
484
|
|
334
|
-
---+++--- oauth2 v2.0.
|
485
|
+
---+++--- oauth2 v2.0.15 ---+++---
|
335
486
|
|
336
487
|
(minor) ⚠️ BREAKING CHANGES ⚠️ when upgrading from < v2
|
337
488
|
• Summary of breaking changes: https://gitlab.com/ruby-oauth/oauth2#what-is-new-for-v20
|
338
|
-
• Changes in this patch: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.
|
489
|
+
• Changes in this patch: https://gitlab.com/ruby-oauth/oauth2/-/blob/v2.0.15/CHANGELOG.md#2015-2025-09-08
|
339
490
|
|
340
491
|
News:
|
341
492
|
1. New documentation website, including for OAuth 2.1 and OIDC: https://oauth2.galtzo.com
|
@@ -343,7 +494,7 @@ post_install_message: |2
|
|
343
494
|
3. New org name "ruby-oauth" on Open Source Collective, GitHub, GitLab, Codeberg (update git remotes!)
|
344
495
|
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.
|
345
496
|
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.
|
346
|
-
5. Gem releases are cryptographically signed with a 20-year cert
|
497
|
+
5. Gem releases are cryptographically signed with a 20-year cert; SHA-256 & SHA-512 checksums by stone_checksums.
|
347
498
|
6. Please consider supporting this project:
|
348
499
|
• https://opencollective.com/ruby-oauth (new!)
|
349
500
|
• https://liberapay.com/pboling
|
metadata.gz.sig
CHANGED
Binary file
|