oauth2 1.4.9 → 1.4.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ecc51b3695e669f4853934aa43c64de29380877340685e35e44ccc1be8957226
4
- data.tar.gz: aa8e0e388084a5374743b1fc7122fd85729f41876fdbe9d679a441813cb3e10c
3
+ metadata.gz: 1b117fa1389074159407828a31fc676387c5c5fa0a7be9c4836a139eb4624cdb
4
+ data.tar.gz: 4589a4cf05d759353585673dd7b042ccc73ed144e5c3e2501c58a35da582c71c
5
5
  SHA512:
6
- metadata.gz: 06c89fbcf461bc08dce02c484b7fef1284d31bed026c606bf966fe85ca351451063763e9c580e9f716bd7a811e0dd8d2f0b3572df5190724dcaf0c539fd9d4aa
7
- data.tar.gz: cf59ec61aa6d7e7c595ff2b5ea73a24441364300ba846efb52508907568ed5aa62619b69dec6428bbfbd341540a4d802709b03703e431fc83ed1de9634d10523
6
+ metadata.gz: acf8d75b54a65226a5bb782d692a55d2c1f078cf3f5dc2de1553b3dcad4b3e99f4bf638ef9040b90f209ba501b4547b6a087546ecfc2a8babf35ca3800e3bac3
7
+ data.tar.gz: c3ba6e85735d1ab6dbd5d0c27e40b19d0e9051d15987faba7f34d3c807d43f91e2b109b1104de64980bd75869f417f6025d919ab9dc67940369313ac859ae2b2
data/CHANGELOG.md CHANGED
@@ -3,9 +3,14 @@ All notable changes to this project will be documented in this file.
3
3
 
4
4
  ## unreleased
5
5
 
6
+
7
+ ## [1.4.10] - 2022-07-01
8
+
9
+ - FIPS Compatibility [#587](https://github.com/oauth-xx/oauth2/pull/587) (@akostadinov)
10
+
6
11
  ## [1.4.9] - 2022-02-20
7
12
 
8
- - Fixes compatibility with Faraday v2 [572](https://github.com/oauth-xx/oauth2/issues/572)
13
+ - Fixes compatibility with Faraday v2 [#572](https://github.com/oauth-xx/oauth2/issues/572)
9
14
  - Includes supported versions of Faraday in test matrix:
10
15
  - Faraday ~> 2.2.0 with Ruby >= 2.6
11
16
  - Faraday ~> 1.10 with Ruby >= 2.4
@@ -15,7 +20,7 @@ All notable changes to this project will be documented in this file.
15
20
  ## [1.4.8] - 2022-02-18
16
21
 
17
22
  - MFA is now required to push new gem versions (@pboling)
18
- - README overhaul w/ new Ruby Verion and Engine compatibility policies (@pboling)
23
+ - README overhaul w/ new Ruby Version and Engine compatibility policies (@pboling)
19
24
  - [#569](https://github.com/oauth-xx/oauth2/pull/569) Backport fixes ([#561](https://github.com/oauth-xx/oauth2/pull/561) by @ryogift), and add more fixes, to allow faraday 1.x and 2.x (@jrochkind)
20
25
  - Improve Code Coverage tracking (Coveralls, CodeCov, CodeClimate), and enable branch coverage (@pboling)
21
26
  - Add CodeQL, Security Policy, Funding info (@pboling)
@@ -193,4 +198,6 @@ All notable changes to this project will be documented in this file.
193
198
  [1.4.6]: https://github.com/oauth-xx/oauth2/compare/v1.4.5...v1.4.6
194
199
  [1.4.7]: https://github.com/oauth-xx/oauth2/compare/v1.4.6...v1.4.7
195
200
  [1.4.8]: https://github.com/oauth-xx/oauth2/compare/v1.4.7...v1.4.8
196
- [unreleased]: https://github.com/oauth-xx/oauth2/compare/v1.4.1...HEAD
201
+ [1.4.9]: https://github.com/oauth-xx/oauth2/compare/v1.4.8...v1.4.9
202
+ [1.4.10]: https://github.com/oauth-xx/oauth2/compare/v1.4.9...v1.4.10
203
+ [unreleased]: https://github.com/oauth-xx/oauth2/compare/v1.4.10...HEAD
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,18 @@
1
+ ## Submitting a Pull Request
2
+ 1. [Fork the repository.][fork]
3
+ 2. [Create a topic branch.][branch]
4
+ 3. Add specs for your unimplemented feature or bug fix.
5
+ 4. Run `bundle exec rake spec`. If your specs pass, return to step 3.
6
+ 5. Implement your feature or bug fix.
7
+ 6. Run `bundle exec rake`. If your specs fail, return to step 5.
8
+ 7. Run `open coverage/index.html`. If your changes are not completely covered
9
+ by your tests, return to step 3.
10
+ 8. Add documentation for your feature or bug fix.
11
+ 9. Run `bundle exec rake verify_measurements`. If your changes are not 100%
12
+ documented, go back to step 8.
13
+ 10. Commit and push your changes.
14
+ 11. [Submit a pull request.][pr]
15
+
16
+ [fork]: http://help.github.com/fork-a-repo/
17
+ [branch]: http://learn.github.com/p/branching.html
18
+ [pr]: http://help.github.com/send-pull-requests/
data/README.md CHANGED
@@ -15,38 +15,40 @@ OAuth 2.0 focuses on client developer simplicity while providing specific author
15
15
  This is a RubyGem for implementing OAuth 2.0 clients and servers in Ruby applications.
16
16
  See the sibling `oauth` gem for OAuth 1.0 implementations in Ruby.
17
17
 
18
- ⚠️ **_WARNING_**: You are viewing the `README` of the soon-to-be-deprecated `1-4-stable`
19
- branch which for version 1.4.x releases. Version 2.0 is coming! ⚠️
18
+ ⚠️⚠️⚠️ **_WARNING_**: You are viewing the `README` of the
19
+ [supported-only-for-critical-enterprise-security-issues](#oauth2-for-enterprise) `1-4-stable`
20
+ branch. Please do not use this, and instead upgrade to version 2! ⚠️⚠️⚠️
21
+
22
+ No further releases of 1.x series are planned! [Version 2](https://github.com/oauth-xx/oauth2#what-is-new-for-v20) has *tons* of improvements!
23
+
24
+ If you must continue using 1.4.x please consider purchasing an open source security maintenance contract from [Tidelift][tidelift-ref].
20
25
 
21
26
  ---
22
27
 
23
28
  * [OAuth 2.0 Spec][oauth2-spec]
24
29
  * [OAuth 1.0 sibling gem][sibling-gem]
25
- * Help us finish release [![2.0.0 release milestone][next-milestone-pct-img]][next-milestone-pct] by submitting or reviewing PRs and issues.
26
- * Oauth2 gem is _always_ looking for additional maintainers. See [#307][maintainers-discussion].
27
30
 
28
31
  [oauth2-spec]: https://oauth.net/2/
29
32
  [sibling-gem]: https://github.com/oauth-xx/oauth-ruby
30
- [next-milestone-pct]: https://github.com/oauth-xx/oauth2/milestone/1
31
- [next-milestone-pct-img]: https://img.shields.io/github/milestones/progress-percent/oauth-xx/oauth2/1
32
- [maintainers-discussion]: https://github.com/oauth-xx/oauth2/issues/307
33
33
 
34
34
  ## Release Documentation
35
35
 
36
36
  <details>
37
37
  <summary>1.4.x Readmes</summary>
38
38
 
39
- | Version | Release Date | Readme |
40
- |---------|--------------|----------------------------------------------------------|
41
- | 1.4.8 | Feb 18, 2022 | https://github.com/oauth-xx/oauth2/blob/v1.4.8/README.md |
42
- | 1.4.7 | Mar 19, 2021 | https://github.com/oauth-xx/oauth2/blob/v1.4.7/README.md |
43
- | 1.4.6 | Mar 19, 2021 | https://github.com/oauth-xx/oauth2/blob/v1.4.6/README.md |
44
- | 1.4.5 | Mar 18, 2021 | https://github.com/oauth-xx/oauth2/blob/v1.4.5/README.md |
45
- | 1.4.4 | Feb 12, 2020 | https://github.com/oauth-xx/oauth2/blob/v1.4.4/README.md |
46
- | 1.4.3 | Jan 29, 2020 | https://github.com/oauth-xx/oauth2/blob/v1.4.3/README.md |
47
- | 1.4.2 | Oct 1, 2019 | https://github.com/oauth-xx/oauth2/blob/v1.4.2/README.md |
48
- | 1.4.1 | Oct 13, 2018 | https://github.com/oauth-xx/oauth2/blob/v1.4.1/README.md |
49
- | 1.4.0 | Jun 9, 2017 | https://github.com/oauth-xx/oauth2/blob/v1.4.0/README.md |
39
+ | Version | Release Date | Readme |
40
+ |---------|--------------|-----------------------------------------------------------|
41
+ | 1.4.10 | Jul 1, 2022 | https://github.com/oauth-xx/oauth2/blob/v1.4.10/README.md |
42
+ | 1.4.9 | Feb 20, 2022 | https://github.com/oauth-xx/oauth2/blob/v1.4.9/README.md |
43
+ | 1.4.8 | Feb 18, 2022 | https://github.com/oauth-xx/oauth2/blob/v1.4.8/README.md |
44
+ | 1.4.7 | Mar 19, 2021 | https://github.com/oauth-xx/oauth2/blob/v1.4.7/README.md |
45
+ | 1.4.6 | Mar 19, 2021 | https://github.com/oauth-xx/oauth2/blob/v1.4.6/README.md |
46
+ | 1.4.5 | Mar 18, 2021 | https://github.com/oauth-xx/oauth2/blob/v1.4.5/README.md |
47
+ | 1.4.4 | Feb 12, 2020 | https://github.com/oauth-xx/oauth2/blob/v1.4.4/README.md |
48
+ | 1.4.3 | Jan 29, 2020 | https://github.com/oauth-xx/oauth2/blob/v1.4.3/README.md |
49
+ | 1.4.2 | Oct 1, 2019 | https://github.com/oauth-xx/oauth2/blob/v1.4.2/README.md |
50
+ | 1.4.1 | Oct 13, 2018 | https://github.com/oauth-xx/oauth2/blob/v1.4.1/README.md |
51
+ | 1.4.0 | Jun 9, 2017 | https://github.com/oauth-xx/oauth2/blob/v1.4.0/README.md |
50
52
  </details>
51
53
 
52
54
  <details>
@@ -93,15 +95,15 @@ badge #s:
93
95
  📗
94
96
  -->
95
97
 
96
- | | Project | oauth2 |
97
- |:----|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
98
- | 1️⃣ | name, license, docs | [![RubyGems.org][⛳️name-img]][⛳️gem] [![License: MIT][🖇src-license-img]][🖇src-license] [![FOSSA][🏘fossa-img]][🏘fossa] [![RubyDoc.info][🚎yard-img]][🚎yard] [![InchCI][🖐inch-ci-img]][🚎yard] |
99
- | 2️⃣ | version & activity | [![Gem Version][⛳️version-img]][⛳️gem] [![Total Downloads][🖇DL-total-img]][⛳️gem] [![Download Rank][🏘DL-rank-img]][⛳️gem] [![Source Code][🚎src-home-img]][🚎src-home] [![Open PRs][🖐prs-open-img]][🖐prs-open] [![Closed PRs][🧮prs-closed-img]][🧮prs-closed] |
100
- | 3️⃣ | maintanence & linting | [![Maintainability][⛳cclim-maint-img]][⛳cclim-maint] [![Helpers][🖇triage-help-img]][🖇triage-help] [![Depfu][🏘depfu-img]][🏘depfu] [![Contributors][🚎contributors-img]][🚎contributors] [![Style][🖐style-wf-img]][🖐style-wf] [![Kloc Roll][🧮kloc-img]][🧮kloc] |
101
- | 4️⃣ | testing | [![Build][⛳️tot-bld-img]][⛳️tot-bld] [![supported][🖇supported-wf-img]][🖇supported-wf] [![EOL & Code Coverage Build][🏘eol-wf-img]][🏘eol-wf] [![unsupported][🚎unsupported-wf-img]][🚎unsupported-wf] |
102
- | 5️⃣ | coverage & security | [![CodeClimate][⛳cclim-cov-img]][⛳cclim-cov] [![CodeCov][🖇codecov-img]][🖇codecov] [![Coveralls][🏘coveralls-img]][🏘coveralls] [![Security Policy][🚎sec-pol-img]][🚎sec-pol] [![CodeQL][🖐codeQL-img]][🖐codeQL] |
103
- | 6️⃣ | resources | [![Discussion][⛳gh-discussions-img]][⛳gh-discussions] [![Get help on Codementor][🖇codementor-img]][🖇codementor] [![Chat][🏘chat-img]][🏘chat] [![Blog][🚎blog-img]][🚎blog] [![Blog][🖐wiki-img]][🖐wiki] |
104
- | 7️⃣ | spread 💖 | [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay] [![Sponsor Me][🖇sponsor-img]][🖇sponsor] [![Tweet @ Peter][🏘tweet-img]][🏘tweet] [🌏][aboutme] [👼][angelme] [💻][coderme] [🌹][politicme] |
98
+ | | Project | oauth2 |
99
+ |:----|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
100
+ | 1️⃣ | name, license, docs | [![RubyGems.org][⛳️name-img]][⛳️gem] [![License: MIT][🖇src-license-img]][🖇src-license] [![FOSSA][🏘fossa-img]][🏘fossa] [![RubyDoc.info][🚎yard-img]][🚎yard] [![InchCI][🖐inch-ci-img]][🚎yard] |
101
+ | 2️⃣ | version & activity | [![Gem Version][⛳️version-img]][⛳️gem] [![Total Downloads][🖇DL-total-img]][⛳️gem] [![Download Rank][🏘DL-rank-img]][⛳️gem] [![Source Code][🚎src-home-img]][🚎src-home] [![Open PRs][🖐prs-o-img]][🖐prs-o] [![Closed PRs][🧮prs-c-img]][🧮prs-c] [![Next Version][📗next-img]][📗next] |
102
+ | 3️⃣ | maintanence & linting | [![Maintainability][⛳cclim-maint-img]][⛳cclim-maint] [![Helpers][🖇triage-help-img]][🖇triage-help] [![Depfu][🏘depfu-img]][🏘depfu] [![Contributors][🚎contributors-img]][🚎contributors] [![Style][🖐style-wf-img]][🖐style-wf] [![Kloc Roll][🧮kloc-img]][🧮kloc] |
103
+ | 4️⃣ | testing | [![Open Issues][⛳iss-o-img]][⛳iss-o] [![Closed Issues][🖇iss-c-img]][🖇iss-c] [![Supported][🏘sup-wf-img]][🏘sup-wf] [![Heads][🚎heads-wf-img]][🚎heads-wf] [![Unofficial Support][🖐uns-wf-img]][🖐uns-wf] [![MacOS][🧮mac-wf-img]][🧮mac-wf] [![Windows][📗win-wf-img]][📗win-wf] |
104
+ | 5️⃣ | coverage & security | [![CodeClimate][⛳cclim-cov-img]][⛳cclim-cov] [![CodeCov][🖇codecov-img]][🖇codecov] [![Coveralls][🏘coveralls-img]][🏘coveralls] [![Security Policy][🚎sec-pol-img]][🚎sec-pol] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Code Coverage][🧮cov-wf-img]][🧮cov-wf] |
105
+ | 6️⃣ | resources | [![Discussion][⛳gh-discussions-img]][⛳gh-discussions] [![Get help on Codementor][🖇codementor-img]][🖇codementor] [![Chat][🏘chat-img]][🏘chat] [![Blog][🚎blog-img]][🚎blog] [![Blog][🖐wiki-img]][🖐wiki] |
106
+ | 7️⃣ | spread 💖 | [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay] [![Sponsor Me][🖇sponsor-img]][🖇sponsor] [![Tweet @ Peter][🏘tweet-img]][🏘tweet] [🌏][aboutme] [👼][angelme] [💻][coderme] [🌹][politicme] |
105
107
 
106
108
  <!--
107
109
  The link tokens in the following sections should be kept ordered by the row and badge numbering scheme
@@ -124,12 +126,14 @@ The link tokens in the following sections should be kept ordered by the row and
124
126
  [🏘DL-rank-img]: https://img.shields.io/gem/rt/oauth2.svg
125
127
  [🚎src-home]: https://github.com/oauth-xx/oauth2
126
128
  [🚎src-home-img]: https://img.shields.io/badge/source-github-brightgreen.svg?style=flat
127
- [🖐prs-open]: https://github.com/oauth-xx/oauth2/pulls
128
- [🖐prs-open-img]: https://img.shields.io/github/issues-pr/oauth-xx/oauth2
129
- [🧮prs-closed]: https://github.com/oauth-xx/oauth2/pulls?q=is%3Apr+is%3Aclosed
130
- [🧮prs-closed-img]: https://img.shields.io/github/issues-pr-closed/oauth-xx/oauth2
131
-
132
- <!-- 3️⃣ maintanence & linting -->
129
+ [🖐prs-o]: https://github.com/oauth-xx/oauth2/pulls
130
+ [🖐prs-o-img]: https://img.shields.io/github/issues-pr/oauth-xx/oauth2
131
+ [🧮prs-c]: https://github.com/oauth-xx/oauth2/pulls?q=is%3Apr+is%3Aclosed
132
+ [🧮prs-c-img]: https://img.shields.io/github/issues-pr-closed/oauth-xx/oauth2
133
+ [📗next]: https://github.com/oauth-xx/oauth2/milestone/1
134
+ [📗next-img]: https://img.shields.io/github/milestones/progress/oauth-xx/oauth2/1?label=Next%20Version
135
+
136
+ <!-- 3️⃣ maintenance & linting -->
133
137
  [⛳cclim-maint]: https://codeclimate.com/github/oauth-xx/oauth2/maintainability
134
138
  [⛳cclim-maint-img]: https://api.codeclimate.com/v1/badges/688c612528ff90a46955/maintainability
135
139
  [🖇triage-help]: https://www.codetriage.com/oauth-xx/oauth2
@@ -144,16 +148,20 @@ The link tokens in the following sections should be kept ordered by the row and
144
148
  [🧮kloc-img]: https://img.shields.io/tokei/lines/github.com/oauth-xx/oauth2
145
149
 
146
150
  <!-- 4️⃣ testing -->
147
- [⛳️tot-bld]: https://actions-badge.atrox.dev/oauth-xx/oauth2/goto
148
- [⛳️tot-bld-img]: https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Foauth-xx%2Foauth2%2Fbadge&style=flat
149
- [🖇supported-wf]: https://github.com/oauth-xx/oauth2/actions/workflows/supported.yml
150
- [🖇supported-wf-img]: https://github.com/oauth-xx/oauth2/actions/workflows/supported.yml/badge.svg
151
- [🏘eol-wf]: https://github.com/oauth-xx/oauth2/actions/workflows/coverage.yml
152
- [🏘eol-wf-img]: https://github.com/oauth-xx/oauth2/actions/workflows/coverage.yml/badge.svg
153
- [🚎unsupported-wf]: https://github.com/oauth-xx/oauth2/actions/workflows/unsupported.yml
154
- [🚎unsupported-wf-img]: https://github.com/oauth-xx/oauth2/actions/workflows/unsupported.yml/badge.svg
155
- [🖐issues]: https://github.com/oauth-xx/oauth2/issues
156
- [🖐issues-img]: https://github.com/oauth-xx/oauth2/issues
151
+ [⛳iss-o]: https://github.com/oauth-xx/oauth2/issues
152
+ [⛳iss-o-img]: https://img.shields.io/github/issues-raw/oauth-xx/oauth2
153
+ [🖇iss-c]: https://github.com/oauth-xx/oauth2/issues?q=is%3Aissue+is%3Aclosed
154
+ [🖇iss-c-img]: https://img.shields.io/github/issues-closed-raw/oauth-xx/oauth2
155
+ [🏘sup-wf]: https://github.com/oauth-xx/oauth2/actions/workflows/supported.yml
156
+ [🏘sup-wf-img]: https://github.com/oauth-xx/oauth2/actions/workflows/supported.yml/badge.svg
157
+ [🚎heads-wf]: https://github.com/oauth-xx/oauth2/actions/workflows/heads.yml
158
+ [🚎heads-wf-img]: https://github.com/oauth-xx/oauth2/actions/workflows/heads.yml/badge.svg
159
+ [🖐uns-wf]: https://github.com/oauth-xx/oauth2/actions/workflows/unsupported.yml
160
+ [🖐uns-wf-img]: https://github.com/oauth-xx/oauth2/actions/workflows/unsupported.yml/badge.svg
161
+ [🧮mac-wf]: https://github.com/oauth-xx/oauth2/actions/workflows/macos.yml
162
+ [🧮mac-wf-img]: https://github.com/oauth-xx/oauth2/actions/workflows/macos.yml/badge.svg
163
+ [📗win-wf]: https://github.com/oauth-xx/oauth2/actions/workflows/windows.yml
164
+ [📗win-wf-img]: https://github.com/oauth-xx/oauth2/actions/workflows/windows.yml/badge.svg
157
165
 
158
166
  <!-- 5️⃣ coverage & security -->
159
167
  [⛳cclim-cov]: https://codeclimate.com/github/oauth-xx/oauth2/test_coverage
@@ -166,6 +174,8 @@ The link tokens in the following sections should be kept ordered by the row and
166
174
  [🚎sec-pol-img]: https://img.shields.io/badge/security-policy-brightgreen.svg?style=flat
167
175
  [🖐codeQL]: https://github.com/oauth-xx/oauth2/security/code-scanning
168
176
  [🖐codeQL-img]: https://github.com/oauth-xx/oauth2/actions/workflows/codeql-analysis.yml/badge.svg
177
+ [🧮cov-wf]: https://github.com/oauth-xx/oauth2/actions/workflows/coverage.yml
178
+ [🧮cov-wf-img]: https://github.com/oauth-xx/oauth2/actions/workflows/coverage.yml/badge.svg
169
179
 
170
180
  <!-- 6️⃣ resources -->
171
181
  [⛳gh-discussions]: https://github.com/oauth-xx/oauth2/discussions
@@ -212,12 +222,27 @@ And then execute in a shell:
212
222
  bundle
213
223
  ```
214
224
 
225
+ ## OAuth2 for Enterprise
226
+
227
+ Available as part of the Tidelift Subscription.
228
+
229
+ The maintainers of OAuth2 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]
230
+
231
+ [tidelift-ref]: https://tidelift.com/subscription/pkg/rubygems-oauth2?utm_source=rubygems-oauth2&utm_medium=referral&utm_campaign=enterprise
232
+
233
+ ## Security contact information
234
+
235
+ To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security).
236
+ Tidelift will coordinate the fix and disclosure.
237
+
238
+ For more see [SECURITY.md][🚎sec-pol].
215
239
 
216
240
  ## Compatibility
217
241
 
218
- Targeted ruby compatibility is non-EOL versions of Ruby, currently 2.7, 3.0 and
219
- 3.1. Compatibility is further distinguished by supported and unsupported versions of Ruby.
220
- Ruby is limited to 1.9+ in the gemspec for the 1.4.x series and will be 2.2+ for 2.x releases (see `master` branch).
242
+ Targeted ruby compatibility is 2.7, 3.0 and 3.1. Compatibility is further distinguished by
243
+ supported and unsupported versions of Ruby.
244
+ This gem will work with Ruby versions back to 1.9, though it remains unsupported.
245
+ Ruby is limited to 1.9+ in the gemspec for the 1.4.x series and is be 2.2+ for next major version releases (see `master` branch).
221
246
 
222
247
  <details>
223
248
  <summary>Ruby Engine Compatibility Policy</summary>
@@ -247,13 +272,13 @@ fashion. If critical issues for a particular implementation exist at the time
247
272
  of a major release, support for that Ruby version may be dropped.
248
273
  </details>
249
274
 
250
- | | Ruby OAuth 2 Version | Maintenance Branch | Supported Officially | Supported Unofficially | Supported Incidentally |
251
- |:----|----------------------|--------------------|-------------------------|------------------------|------------------------|
252
- | 1️⃣ | 2.0.x (unreleased) | `master` | 2.7, 3.0, 3.1 | 2.6, 2.5 | 2.4, 2.3, 2.2 |
253
- | 2️⃣ | 1.4.x | `1-4-stable` | 2.5, 2.6, 2.7, 3.0, 3.1 | 2.1, 2.2, 2.3, 2.4 | 2.0, 1.9 |
254
- | 3️⃣ | older | N/A | Best of luck to you! | Please upgrade! | |
275
+ | | Ruby OAuth2 Version | Maintenance Branch | Supported Officially | Supported Unofficially | Supported Incidentally |
276
+ |:----|---------------------|--------------------|-------------------------|------------------------|------------------------|
277
+ | 1️⃣ | 2.0.x | `master` | 2.7, 3.0, 3.1 | 2.5, 2.6 | 2.2, 2.3, 2.4 |
278
+ | 2️⃣ | 1.4.x | `1-4-stable` | 2.5, 2.6, 2.7, 3.0, 3.1 | 2.1, 2.2, 2.3, 2.4 | 1.9, 2.0 |
279
+ | 3️⃣ | older | N/A | Best of luck to you! | Please upgrade! | |
255
280
 
256
- NOTE: Once 2.0 is released, the 1.4 series will only receive critical bug and security updates.
281
+ NOTE: The 1.4 series will only receive critical security updates.
257
282
  See [SECURITY.md][🚎sec-pol]
258
283
 
259
284
  ## Usage Examples
data/SECURITY.md ADDED
@@ -0,0 +1,20 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ | Version | Supported |
6
+ |----------|------------------------------------|
7
+ | 2.latest | ✅ |
8
+ | 1.latest | ✅ (critical security updates only) |
9
+ | older | ⛔️ |
10
+
11
+ ## Reporting a Vulnerability
12
+
13
+ To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security).
14
+ Tidelift will coordinate the fix and disclosure.
15
+
16
+ ## OAuth2 for Enterprise
17
+
18
+ Available as part of the Tidelift Subscription.
19
+
20
+ The maintainers of oauth2 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.](https://tidelift.com/subscription/pkg/rubygems-oauth2?utm_source=rubygems-oauth2&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
data/lib/oauth2/client.rb CHANGED
@@ -100,7 +100,7 @@ module OAuth2
100
100
  # code response for this request. Will default to client option
101
101
  # @option opts [Symbol] :parse @see Response::initialize
102
102
  # @yield [req] The Faraday request
103
- def request(verb, url, opts = {}) # rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity, Metrics/AbcSize
103
+ def request(verb, url, opts = {}) # rubocop:disable Metrics/AbcSize
104
104
  url = connection.build_url(url).to_s
105
105
 
106
106
  begin
@@ -185,7 +185,7 @@ module OAuth2
185
185
  response_contains_token = access_token || (
186
186
  response.parsed.is_a?(Hash) &&
187
187
  (response.parsed['access_token'] || response.parsed['id_token'])
188
- )
188
+ )
189
189
 
190
190
  if options[:raise_errors] && !response_contains_token
191
191
  error = Error.new(response)
@@ -62,7 +62,7 @@ module OAuth2
62
62
  # @param [String] url the HTTP URL path of the request
63
63
  def header(verb, url)
64
64
  timestamp = Time.now.utc.to_i
65
- nonce = Digest::MD5.hexdigest([timestamp, SecureRandom.hex].join(':'))
65
+ nonce = Digest::SHA256.hexdigest([timestamp, SecureRandom.hex].join(':'))
66
66
 
67
67
  uri = URI.parse(url)
68
68
 
@@ -24,7 +24,7 @@ module OAuth2
24
24
  #
25
25
  # @return [Integer]
26
26
  def patch
27
- 9
27
+ 10
28
28
  end
29
29
 
30
30
  # The pre-release version, if any
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oauth2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.9
4
+ version: 1.4.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
8
- - Michael Bleigh
9
8
  - Erik Michaels-Ober
10
- autorequire:
9
+ - Michael Bleigh
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2022-02-20 00:00:00.000000000 Z
13
+ date: 2022-07-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: faraday
@@ -132,14 +132,14 @@ dependencies:
132
132
  name: rake
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - "~>"
135
+ - - ">="
136
136
  - !ruby/object:Gem::Version
137
137
  version: '12.3'
138
138
  type: :development
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - "~>"
142
+ - - ">="
143
143
  - !ruby/object:Gem::Version
144
144
  version: '12.3'
145
145
  - !ruby/object:Gem::Dependency
@@ -212,6 +212,26 @@ dependencies:
212
212
  - - ">="
213
213
  - !ruby/object:Gem::Version
214
214
  version: '0'
215
+ - !ruby/object:Gem::Dependency
216
+ name: rubocop-lts
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: 2.0.3
222
+ - - "~>"
223
+ - !ruby/object:Gem::Version
224
+ version: '2.0'
225
+ type: :development
226
+ prerelease: false
227
+ version_requirements: !ruby/object:Gem::Requirement
228
+ requirements:
229
+ - - ">="
230
+ - !ruby/object:Gem::Version
231
+ version: 2.0.3
232
+ - - "~>"
233
+ - !ruby/object:Gem::Version
234
+ version: '2.0'
215
235
  - !ruby/object:Gem::Dependency
216
236
  name: silent_stream
217
237
  requirement: !ruby/object:Gem::Requirement
@@ -236,8 +256,10 @@ extra_rdoc_files: []
236
256
  files:
237
257
  - CHANGELOG.md
238
258
  - CODE_OF_CONDUCT.md
259
+ - CONTRIBUTING.md
239
260
  - LICENSE
240
261
  - README.md
262
+ - SECURITY.md
241
263
  - lib/oauth2.rb
242
264
  - lib/oauth2/access_token.rb
243
265
  - lib/oauth2/authenticator.rb
@@ -252,33 +274,31 @@ files:
252
274
  - lib/oauth2/strategy/implicit.rb
253
275
  - lib/oauth2/strategy/password.rb
254
276
  - lib/oauth2/version.rb
255
- - spec/fixtures/README.md
256
- - spec/fixtures/RS256/jwtRS256.key
257
- - spec/fixtures/RS256/jwtRS256.key.pub
258
- - spec/helper.rb
259
- - spec/oauth2/access_token_spec.rb
260
- - spec/oauth2/authenticator_spec.rb
261
- - spec/oauth2/client_spec.rb
262
- - spec/oauth2/mac_token_spec.rb
263
- - spec/oauth2/response_spec.rb
264
- - spec/oauth2/strategy/assertion_spec.rb
265
- - spec/oauth2/strategy/auth_code_spec.rb
266
- - spec/oauth2/strategy/base_spec.rb
267
- - spec/oauth2/strategy/client_credentials_spec.rb
268
- - spec/oauth2/strategy/implicit_spec.rb
269
- - spec/oauth2/strategy/password_spec.rb
270
- - spec/oauth2/version_spec.rb
271
277
  homepage: https://github.com/oauth-xx/oauth2
272
278
  licenses:
273
279
  - MIT
274
280
  metadata:
275
281
  bug_tracker_uri: https://github.com/oauth-xx/oauth2/issues
276
- changelog_uri: https://github.com/oauth-xx/oauth2/blob/v1.4.9/CHANGELOG.md
277
- documentation_uri: https://www.rubydoc.info/gems/oauth2/1.4.9
278
- source_code_uri: https://github.com/oauth-xx/oauth2/tree/v1.4.9
282
+ changelog_uri: https://github.com/oauth-xx/oauth2/blob/v1.4.10/CHANGELOG.md
283
+ documentation_uri: https://www.rubydoc.info/gems/oauth2/1.4.10
284
+ source_code_uri: https://github.com/oauth-xx/oauth2/tree/v1.4.10
279
285
  wiki_uri: https://github.com/oauth-xx/oauth2/wiki
286
+ funding_uri: https://github.com/sponsors/pboling
280
287
  rubygems_mfa_required: 'true'
281
- post_install_message:
288
+ post_install_message: |2+
289
+
290
+ You have installed oauth2 version 1.4.10, which is EOL.
291
+ No further support is anticipated for the 1.4.x series.
292
+
293
+ OAuth2 version 2 is released.
294
+ There are BREAKING changes, but most will not encounter them, and upgrading should be easy!
295
+
296
+ Please see:
297
+ • https://github.com/oauth-xx/oauth2#what-is-new-for-v20
298
+ • https://github.com/oauth-xx/oauth2/blob/master/CHANGELOG.md
299
+
300
+ Please upgrade, report issues, and support the project! Thanks, |7eter l-|. l3oling
301
+
282
302
  rdoc_options: []
283
303
  require_paths:
284
304
  - lib
@@ -291,26 +311,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
291
311
  requirements:
292
312
  - - ">="
293
313
  - !ruby/object:Gem::Version
294
- version: 1.3.5
314
+ version: '0'
295
315
  requirements: []
296
- rubygems_version: 3.3.7
297
- signing_key:
316
+ rubygems_version: 3.3.16
317
+ signing_key:
298
318
  specification_version: 4
299
319
  summary: A Ruby wrapper for the OAuth 2.0 protocol.
300
- test_files:
301
- - spec/fixtures/README.md
302
- - spec/fixtures/RS256/jwtRS256.key
303
- - spec/fixtures/RS256/jwtRS256.key.pub
304
- - spec/helper.rb
305
- - spec/oauth2/access_token_spec.rb
306
- - spec/oauth2/authenticator_spec.rb
307
- - spec/oauth2/client_spec.rb
308
- - spec/oauth2/mac_token_spec.rb
309
- - spec/oauth2/response_spec.rb
310
- - spec/oauth2/strategy/assertion_spec.rb
311
- - spec/oauth2/strategy/auth_code_spec.rb
312
- - spec/oauth2/strategy/base_spec.rb
313
- - spec/oauth2/strategy/client_credentials_spec.rb
314
- - spec/oauth2/strategy/implicit_spec.rb
315
- - spec/oauth2/strategy/password_spec.rb
316
- - spec/oauth2/version_spec.rb
320
+ test_files: []
@@ -1,11 +0,0 @@
1
- # RS256
2
-
3
- ## How keys were made
4
-
5
- ```shell
6
- # No passphrase
7
- # Generates the public and private keys:
8
- ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key
9
- # Converts the key to PEM format
10
- openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub
11
- ```
@@ -1,51 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- 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
- +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
- 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
- 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
- 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
- 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
- gGYyZ12JZRKY+szPT+vR+MDuYxbquF40O7kvkFNBfL1yCpzfSQCLnEs4rX8qRzZX
9
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- w1+MMjsKsNedXxI99TIPPHcCNMxqlt1E1kHH3SAwCuEH/ez7PRMyEQQ0EyAk22x/
21
- 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
- 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
- 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
- H2uiVmGdMfWTAmX86kiHVpkL03OG6rgvDMsMOYKnik9Lb3gNeUIuPeAWFNrXCoD1
25
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 3C1Qz/3iv/S3/ktgmqGhQiqybkkHZcbqTXB2wxrx+aaLS7PEfYiuYCrPbX93160k
48
- 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
- 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
- NizQPR6/Ar1ewLPMh1exDoAfLnCIMk8nbSraW+cebLAZctPugUpfpu3j2LM98aE=
51
- -----END RSA PRIVATE KEY-----
@@ -1,14 +0,0 @@
1
- -----BEGIN PUBLIC KEY-----
2
- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5hdXV/4YSymY1T9VNvK2
3
- bWRfulwIty1RnAPNINQmfh3aRRkV+PNrbC2Crji9G0AHmQwgW1bZ3kgkkpIm6RVn
4
- 44fHvBvuXkZ9ABgXw0d2cLIHmwOFxSKmWAm/EW//GszUTLLLsMZUe2udtFJW0jxX
5
- B2GRY0WVYuo6Oo58RCeP719lw3Ags0YF9/IobxKkGd4BautUPw6ZszAa3o+j0zR7
6
- 4x7ouPxybZAOuPsMxqanyeYJeH4osJjLMYV9qem9uG2sj7GENJ8UszcpmGbqxBhe
7
- xPEB7mgDeONIF0XJF23zdOf8ANE5mAU2h2v7M6moAfkdUzJ+j48+VT2omHAzAL5y
8
- Ncmrl2xiWdyoxOw1Y1UmfEmJYV5VgGYyZ12JZRKY+szPT+vR+MDuYxbquF40O7kv
9
- kFNBfL1yCpzfSQCLnEs4rX8qRzZXciLeyq4Ht5FLuRFgxjA//XI8LAmp0u7gk+Q7
10
- FUH1UgW3kmJDTG0XaxQxYTBSIO7mcmyjDyBgKVuQmt5E1ycFeteOVdPD/CG/fPYh
11
- thvc4UytEFwsMdNy3iD6/wuUH68tAKam28UZaOb0qK+00cQQD8fulY9rKtSL10Lv
12
- JFWUOa/SJyLvk9vUmfvFn182il1nX6GpyxyMmE/FCnH4CT/DjrSZf08mOO8eL5of
13
- YHMK/oiXr1eODqx+pOwClNsCAwEAAQ==
14
- -----END PUBLIC KEY-----
data/spec/helper.rb DELETED
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- DEBUG = ENV['DEBUG'] == 'true'
4
- RUN_COVERAGE = ENV['CI_CODECOV'] || ENV['CI'].nil?
5
-
6
- ruby_version = Gem::Version.new(RUBY_VERSION)
7
- minimum_version = ->(version) { ruby_version >= Gem::Version.new(version) && RUBY_ENGINE == 'ruby' }
8
- coverage = minimum_version.call('2.7') && RUN_COVERAGE
9
- debug = minimum_version.call('2.5') && DEBUG
10
-
11
- require 'simplecov' if coverage
12
- require 'byebug' if debug
13
-
14
- require 'oauth2'
15
- require 'addressable/uri'
16
- require 'rspec'
17
- require 'rspec/stubbed_env'
18
- require 'rspec/pending_for'
19
- require 'silent_stream'
20
-
21
- RSpec.configure do |config|
22
- config.expect_with :rspec do |c|
23
- c.syntax = :expect
24
- end
25
- end
26
-
27
- Faraday.default_adapter = :test
28
-
29
- RSpec.configure do |conf|
30
- conf.include SilentStream
31
- end
32
-
33
- VERBS = [:get, :post, :put, :delete].freeze