oauth 1.1.6 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 519d2a63b05220f02dadb8fcb8ba9cb20ce54f03c617b2a74e46781b9c0b843c
4
- data.tar.gz: 8a89f0260d3b91eff46f969208d4baafd3122f86fea184c8380c72d0f8aed5bd
3
+ metadata.gz: 810ba9adfd17d13a110f3e89a570d93acc88916e8641a34a4658905215586f33
4
+ data.tar.gz: 39aeb0e041b6d2d329714564b404bed78adc6a895f7bcdaa49edf2b7738d7f81
5
5
  SHA512:
6
- metadata.gz: 37c222e2be4fe2e4bac7615d794abf35a0f9750ab447b40654fab78b47f539c8a0bb4df17b520e90a8f998b3ea9dcda1ad6f0da97a123335f38d28fb94b17a7d
7
- data.tar.gz: 98725428c6aab7b988766e9f4c65e6b6bb78ce0079c07ab5c65e8c1f65ebdeb11488cccfe94f31f78d6b77a164b60b20ea94dfc8b755b67261af4de04ed09772
6
+ metadata.gz: b4e96302c57226470328ccb9e083a7c8929463155a49e11c2c7fc63a1f1172b8475f1b25778d6aea5dba544892b5757d8f83c5cb2b36d5b80434d5ee868cfa0d
7
+ data.tar.gz: 253ae5705ec89bfdd6e5885bd0e2e122518c68942f56966556d9f7b1900660957b476456301ef24989e90d9fc602960e1198b991653208a90849034a9dfc600d
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,83 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.1.8] - 2026-07-15
34
+
35
+ - TAG: [v1.1.8][1.1.8t]
36
+ - COVERAGE: 69.47% -- 835/1202 lines in 42 files
37
+ - BRANCH COVERAGE: 47.75% -- 159/333 branches in 42 files
38
+ - 40.38% documented
39
+
40
+ ### Changed
41
+
42
+ - Raised the `anonymous_loader` runtime dependency floor to `>= 0.1.1`.
43
+ - Raised the `auth-sanitizer` runtime dependency floor to `>= 0.2.2` and
44
+ switched isolated sanitizer loading to the released `anonymous_loader` gem,
45
+ including local workspace wiring for the new runtime dependency.
46
+ - Raised the `oauth-tty` runtime dependency floor to `>= 1.0.11`.
47
+
48
+ - Raised the `anonymous_loader` runtime dependency floor to `>= 0.1.2`.
49
+ - Retemplated generated project metadata, support documentation, CI workflows,
50
+ binstubs, and development dependency floors with `kettle-jem` v7.0.0.
51
+
52
+ ### Fixed
53
+
54
+ - Updated the auth-sanitizer subprocess isolation spec to load the standard
55
+ test bootstrap, including Ruby 2.4 backports.
56
+ - Made the Ruby 2.4 appraisal's legacy `cgi` dependency explicit.
57
+
58
+ - Corrected RubyGems homepage metadata to point at the gem documentation site.
59
+ - Corrected persisted Open Collective and repository topology metadata used by
60
+ future template runs.
61
+
62
+ - Package configured license files in gem release file lists.
63
+
64
+ - Updated the dep-heads workflow so current TruffleRuby uses the generated
65
+ `gemfiles/dep_heads.gemfile` directly, avoiding Appraisal bootstrap failures
66
+ with TruffleRuby's bundled RubyGems/Bundler and gem.coop.
67
+
68
+ ### Added
69
+
70
+ - Added support for JRuby 10.1 and TruffleRuby 34.0.
71
+
72
+ ## [1.1.7] - 2026-06-15
73
+
74
+ - TAG: [v1.1.7][1.1.7t]
75
+ - COVERAGE: 88.32% -- 839/950 lines in 33 files
76
+ - BRANCH COVERAGE: 58.67% -- 159/271 branches in 33 files
77
+ - 40.38% documented
78
+
79
+ ### Changed
80
+
81
+ - Retemplated repository metadata, workflows, modular gemfiles, documentation
82
+ scaffolding, `version_gem` >= 1.1.12, and templating-isolated local workspace
83
+ Gemfile wiring with the current `kettle-jem` template.
84
+ - Raised the `auth-sanitizer` runtime dependency floor to `>= 0.2.1`, so OAuth
85
+ consumers get hash and nested-attribute inspect redaction fixes plus
86
+ downstream RBS duplicate-declaration fixes.
87
+ - Raised the `oauth-tty` runtime dependency floor to `>= 1.0.12`, removing
88
+ the transitive external `cgi` runtime dependency for Ruby 2.4 consumers.
89
+
90
+ ### Fixed
91
+
92
+ - Restored `docs/CNAME` so the generated documentation site keeps its custom domain.
93
+
94
+ - Pinned older Ruby appraisals to Rack 2.2 so `rack-test` remains compatible
95
+ with the Ruby 2.4, Ruby 2.5, and JRuby 9.2 CI jobs.
96
+ - Derived an RSA public key from PEM private-key strings before signature
97
+ verification, matching JRuby OpenSSL behavior while preserving RSA-SHA1
98
+ verification semantics.
99
+
100
+ - Removed the external `cgi` runtime dependency because the only `cgi` gem
101
+ releases installable on Ruby 2.4 call `String#delete_prefix`, which is
102
+ unavailable on Ruby 2.4.
103
+ - Removed the external `erb` dependency from the Ruby 2.4 appraisal because
104
+ Ruby 2.4 already provides ERB and the released `erb` gem depends on external
105
+ `cgi`.
106
+ - Added a private-key-backed RSA-SHA1 verification fallback for JRuby OpenSSL
107
+ versions that raise `OpenSSL::PKey::PKeyError` during public-key
108
+ verification.
109
+
33
110
  ## [1.1.6] - 2026-06-07
34
111
 
35
112
  - TAG: [v1.1.6][1.1.6t]
@@ -786,7 +863,11 @@ All together now release
786
863
  - Moved all non-Rails functionality from the Rails plugin:
787
864
  http://code.google.com/p/oauth-plugin/
788
865
 
789
- [Unreleased]: https://github.com/ruby-oauth/oauth/compare/v1.1.6...HEAD
866
+ [Unreleased]: https://github.com/ruby-oauth/oauth/compare/v1.1.8...HEAD
867
+ [1.1.8]: https://github.com/ruby-oauth/oauth/compare/v1.1.7...v1.1.8
868
+ [1.1.8t]: https://github.com/ruby-oauth/oauth/releases/tag/v1.1.8
869
+ [1.1.7]: https://github.com/ruby-oauth/oauth/compare/v1.1.6...v1.1.7
870
+ [1.1.7t]: https://github.com/ruby-oauth/oauth/releases/tag/v1.1.7
790
871
  [1.1.6]: https://github.com/ruby-oauth/oauth/compare/v1.1.5...v1.1.6
791
872
  [1.1.6t]: https://github.com/ruby-oauth/oauth/releases/tag/v1.1.6
792
873
  [1.1.5]: https://github.com/ruby-oauth/oauth/compare/v1.1.4...v1.1.5
data/CONTRIBUTING.md CHANGED
@@ -109,14 +109,14 @@ Git diff driver setup
109
109
  - Git hosting forges generally ignore external diff drivers, so pull request views may still show raw textual diffs even when local `git diff` uses semantic drivers.
110
110
 
111
111
  ```console
112
- K_JEM_TEMPLATING=true bundle exec kettle-jem install
112
+ K_JEM_TEMPLATING=true kettle-jem install
113
113
  ```
114
114
 
115
115
  Troubleshooting Git diffs
116
116
  - Use `git diff --no-ext-diff` to compare against Git's built-in diff output.
117
117
  - Use `git diff --no-textconv` when a textconv projection obscures the raw file bytes you need to inspect.
118
118
  - If Git reports a missing `smorg-*` executable, rerun `bundle install` and the setup command above, then check `git config --local --get-regexp '^diff\.smorg-'`.
119
- - To remove managed local entries, run `K_JEM_TEMPLATING=true bundle exec kettle-jem install --undo`; remove global command registrations with `git config --global --unset-all diff.smorg-ruby.command`.
119
+ - To remove managed local entries, run `K_JEM_TEMPLATING=true kettle-jem install --undo`; remove global command registrations with `git config --global --unset-all diff.smorg-ruby.command`.
120
120
 
121
121
  For a quick starting point, this repository’s `mise.toml` defines the shared defaults, and `.env.local` can override them locally. Copy `.env.local.example` to `.env.local`, use `KEY=value` lines, and either activate `mise` in your shell or run commands through `mise exec -C /path/to/project -- ...`.
122
122
 
@@ -131,9 +131,12 @@ toolchain, and it may be higher than the gemspec runtime floor.
131
131
  They are created and updated with the commands:
132
132
 
133
133
  ```console
134
- bin/rake appraisal:update
134
+ bin/rake appraisal:generate
135
135
  ```
136
136
 
137
+ Use `bin/rake appraisal:update` when you intentionally need to resolve fresh
138
+ appraisal locks.
139
+
137
140
  If you need to reset all gemfiles/*.gemfile.lock files:
138
141
 
139
142
  ```console
data/FUNDING.md CHANGED
@@ -6,7 +6,7 @@ Many paths lead to being a sponsor or a backer of this project. Are you on such
6
6
 
7
7
  [![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]
8
8
 
9
- [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
9
+ [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
10
10
 
11
11
  [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
12
12
  [⛳liberapay]: https://liberapay.com/pboling/donate
@@ -16,12 +16,8 @@ Many paths lead to being a sponsor or a backer of this project. Are you on such
16
16
  [🖇osc-sponsors-i]: https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat
17
17
  [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
18
18
  [🖇sponsor]: https://github.com/sponsors/pboling
19
- [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
20
- [🖇polar]: https://polar.sh/pboling
21
19
  [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
22
20
  [🖇kofi]: https://ko-fi.com/pboling
23
- [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
24
- [🖇patreon]: https://patreon.com/galtzo
25
21
  [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
26
22
  [🖇buyme]: https://www.buymeacoffee.com/pboling
27
23
  [🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
data/MIT.md ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ See [LICENSE.md](LICENSE.md) for the copyright notice.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <a href="https://github.com/ruby-oauth"><img alt="ruby-oauth Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/ruby-oauth/avatar-128px.svg" width="14%" align="right"/></a>
2
2
 
3
- # 🔑 OAuth
3
+ # 🔮 OAuth
4
4
 
5
5
  [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
6
6
 
@@ -10,9 +10,9 @@
10
10
 
11
11
  `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.
12
12
 
13
- [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
13
+ [![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 at ko-fi.com][🖇kofi-img]][🖇kofi]
14
14
 
15
- <details>
15
+ <details markdown="1">
16
16
  <summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
17
17
 
18
18
  I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
@@ -69,9 +69,9 @@ The primary maintainer since 2020 is Peter Boling ([@pboling](https://github.com
69
69
 
70
70
  | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
71
71
  |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
72
- | Works with JRuby | [![JRuby 9.2 Compat][💎jruby-9.2i]][🚎jruby-9.2-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎jruby-9.3-wf] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎jruby-9.4-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
73
- | Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.0 Compat][💎truby-23.0i]][🚎truby-23.0-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] <br/> [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf]|
74
- | Works with MRI Ruby 4 | [![Ruby 4.0 Compat][💎ruby-4.0i]][🚎11-c-wf] [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
72
+ | Works with JRuby | [![JRuby 9.2 Compat][💎jruby-9.2i]][🚎jruby-9.2-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎jruby-9.3-wf] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎jruby-9.4-wf] [![JRuby 10.0 Compat][💎jruby-10.0i]][🚎jruby-10.0-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
73
+ | Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.0 Compat][💎truby-23.0i]][🚎truby-23.0-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] <br/> [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby 33.0 Compat][💎truby-33.0i]][🚎truby-33.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf] [![Truffle Ruby HEAD Compat][💎truby-headi]][🚎3-hd-wf]|
74
+ | Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
75
75
  | Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎ruby-3.0-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎ruby-3.1-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
76
76
  | Works with MRI Ruby 2 | ![Ruby 2.3 Compat][💎ruby-2.3i] <br/> [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎ruby-2.4-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎ruby-2.5-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎ruby-2.6-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎ruby-2.7-wf]|
77
77
  | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
@@ -90,9 +90,25 @@ This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
90
90
  may be higher than the gem's runtime compatibility floor when legacy Rubies are
91
91
  not practical for the current toolchain.
92
92
 
93
- | 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
94
- |------------------------------------------------|--------------------------------------------------------|
95
- | 👟 Check it out! | [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
93
+ <a href="https://github.com/kettle-dev"><img alt="kettle-dev Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/avatar-128px.svg" width="14%" align="right"/></a>
94
+
95
+ The _amazing_ test matrix is powered by the kettle-dev stack.
96
+
97
+ <details markdown="1">
98
+ <summary>How kettle-dev manages complexity in tests</summary>
99
+
100
+ | Gem | Source | Role | Daily download rank |
101
+ |-----|--------|------|---------------------|
102
+ | [appraisal2](https://bestgems.org/gems/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [![Daily download rank for appraisal2](https://img.shields.io/gem/rd/appraisal2.svg?style=flat-square)](https://bestgems.org/gems/appraisal2) |
103
+ | [appraisal2-rubocop](https://bestgems.org/gems/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [![Daily download rank for appraisal2-rubocop](https://img.shields.io/gem/rd/appraisal2-rubocop.svg?style=flat-square)](https://bestgems.org/gems/appraisal2-rubocop) |
104
+ | [kettle-dev](https://bestgems.org/gems/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [![Daily download rank for kettle-dev](https://img.shields.io/gem/rd/kettle-dev.svg?style=flat-square)](https://bestgems.org/gems/kettle-dev) |
105
+ | [kettle-jem](https://bestgems.org/gems/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [![Daily download rank for kettle-jem](https://img.shields.io/gem/rd/kettle-jem.svg?style=flat-square)](https://bestgems.org/gems/kettle-jem) |
106
+ | [kettle-soup-cover](https://bestgems.org/gems/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [![Daily download rank for kettle-soup-cover](https://img.shields.io/gem/rd/kettle-soup-cover.svg?style=flat-square)](https://bestgems.org/gems/kettle-soup-cover) |
107
+ | [kettle-test](https://bestgems.org/gems/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [![Daily download rank for kettle-test](https://img.shields.io/gem/rd/kettle-test.svg?style=flat-square)](https://bestgems.org/gems/kettle-test) |
108
+ | [rubocop-lts](https://bestgems.org/gems/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [![Daily download rank for rubocop-lts](https://img.shields.io/gem/rd/rubocop-lts.svg?style=flat-square)](https://bestgems.org/gems/rubocop-lts) |
109
+ | [turbo_tests2](https://bestgems.org/gems/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [![Daily download rank for turbo_tests2](https://img.shields.io/gem/rd/turbo_tests2.svg?style=flat-square)](https://bestgems.org/gems/turbo_tests2) |
110
+
111
+ </details>
96
112
 
97
113
  ### Federated DVCS
98
114
 
@@ -298,9 +314,13 @@ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day
298
314
 
299
315
  <!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
300
316
  No sponsors yet. Be the first!
317
+
318
+ ### Open Collective for Donors
319
+
320
+ [Bill Woika](https://opencollective.com/bill-woika) [Philipp Ebneter](https://opencollective.com/guest-e77282f7) [Grigoriy](https://opencollective.com/guest-c93e0c48)
301
321
  <!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
302
322
 
303
- [kettle-readme-backers]: https://github.com/ruby-oauth/oauth/blob/main/exe/kettle-readme-backers
323
+ [kettle-readme-backers]: https://github.com/ruby-oauth/oauth/blob/main/bin/kettle-readme-backers
304
324
 
305
325
  ### Another way to support open-source
306
326
 
@@ -312,7 +332,7 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
312
332
 
313
333
  **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
314
334
 
315
- [![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 efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
335
+ [![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 to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
316
336
 
317
337
  ## 🔐 Security
318
338
 
@@ -358,7 +378,7 @@ Made with [contributors-img][🖐contrib-rocks].
358
378
 
359
379
  Also see GitLab Contributors: [https://gitlab.com/ruby-oauth/oauth/-/graphs/main][🚎contributors-gl]
360
380
 
361
- <details>
381
+ <details markdown="1">
362
382
  <summary>⭐️ Star History</summary>
363
383
 
364
384
  <a href="https://star-history.com/ruby-oauth/oauth&Date">
@@ -514,12 +534,8 @@ Thanks for RTFM. ☺️
514
534
  [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
515
535
  [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
516
536
  [🖇sponsor]: https://github.com/sponsors/pboling
517
- [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
518
- [🖇polar]: https://polar.sh/pboling
519
537
  [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
520
538
  [🖇kofi]: https://ko-fi.com/pboling
521
- [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
522
- [🖇patreon]: https://patreon.com/galtzo
523
539
  [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
524
540
  [🖇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
525
541
  [🖇buyme]: https://www.buymeacoffee.com/pboling
@@ -609,11 +625,13 @@ Thanks for RTFM. ☺️
609
625
  [🚎jruby-9.2-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/jruby-9.2.yml
610
626
  [🚎jruby-9.3-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/jruby-9.3.yml
611
627
  [🚎jruby-9.4-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/jruby-9.4.yml
628
+ [🚎jruby-10.0-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/jruby-10.0.yml
612
629
  [🚎truby-22.3-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/truffleruby-22.3.yml
613
630
  [🚎truby-23.0-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/truffleruby-23.0.yml
614
631
  [🚎truby-23.1-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/truffleruby-23.1.yml
615
632
  [🚎truby-24.2-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/truffleruby-24.2.yml
616
633
  [🚎truby-25.0-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/truffleruby-25.0.yml
634
+ [🚎truby-33.0-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/truffleruby-33.0.yml
617
635
  [🚎2-cov-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/coverage.yml
618
636
  [🚎2-cov-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/coverage.yml/badge.svg
619
637
  [🚎3-hd-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/heads.yml
@@ -644,7 +662,6 @@ Thanks for RTFM. ☺️
644
662
  [💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
645
663
  [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
646
664
  [💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
647
- [💎ruby-4.0i]: https://img.shields.io/badge/Ruby-4.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
648
665
  [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
649
666
  [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
650
667
  [💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
@@ -652,10 +669,13 @@ Thanks for RTFM. ☺️
652
669
  [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
653
670
  [💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
654
671
  [💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
672
+ [💎truby-33.0i]: https://img.shields.io/badge/Truffle_Ruby-33.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
655
673
  [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
674
+ [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
656
675
  [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2-FBE742?style=for-the-badge&logo=ruby&logoColor=red
657
676
  [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3-FBE742?style=for-the-badge&logo=ruby&logoColor=red
658
677
  [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
678
+ [💎jruby-10.0i]: https://img.shields.io/badge/JRuby-10.0-FBE742?style=for-the-badge&logo=ruby&logoColor=red
659
679
  [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
660
680
  [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
661
681
  [🤝gh-issues]: https://github.com/ruby-oauth/oauth/issues
@@ -684,7 +704,7 @@ Thanks for RTFM. ☺️
684
704
  [📌gitmoji]: https://gitmoji.dev
685
705
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
686
706
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
687
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.941-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
707
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-1.202-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
688
708
  [🔐security]: https://github.com/ruby-oauth/oauth/blob/main/SECURITY.md
689
709
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
690
710
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -692,7 +712,7 @@ Thanks for RTFM. ☺️
692
712
  [📄license-ref]: MIT.md
693
713
  [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
694
714
  [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
695
- [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-✓-259D6C.svg?style=flat&logo=Apache
715
+ [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
696
716
 
697
717
  [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
698
718
  [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
@@ -710,9 +730,9 @@ Thanks for RTFM. ☺️
710
730
  | Field | Value |
711
731
  |---|---|
712
732
  | Package | oauth |
713
- | Description | 🔑 A Ruby wrapper for the original OAuth 1.0 / 1.0a spec. |
733
+ | Description | 🔮 A Ruby wrapper for the original OAuth 1.0 / 1.0a spec. |
714
734
  | Homepage | https://github.com/ruby-oauth/oauth |
715
- | Source | https://github.com/ruby-oauth/oauth/tree/v1.1.5 |
735
+ | Source | https://github.com/ruby-oauth/oauth |
716
736
  | License | `MIT` |
717
- | Funding | https://github.com/sponsors/pboling, https://issuehunt.io/u/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/ruby-oauth, https://patreon.com/galtzo, https://polar.sh/pboling, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/oauth, https://www.buymeacoffee.com/pboling |
737
+ | Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/ruby-oauth, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/oauth, https://www.buymeacoffee.com/pboling |
718
738
  <!-- kettle-jem:metadata:end -->
@@ -1,31 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "anonymous_loader"
4
+
3
5
  module OAuth
4
6
  AUTH_SANITIZER = begin
5
- auth_sanitizer_requirement = Gem::Requirement.new("~> 0.1", ">= 0.1.3")
6
- auth_sanitizer_spec = Gem.loaded_specs["auth-sanitizer"]
7
- unless auth_sanitizer_spec && auth_sanitizer_requirement.satisfied_by?(auth_sanitizer_spec.version)
8
- # :nocov:
9
- auth_sanitizer_spec = Gem::Specification.find_by_name("auth-sanitizer", auth_sanitizer_requirement)
10
- # :nocov:
11
- end
12
-
13
- auth_sanitizer_loader_path = File.join(
14
- auth_sanitizer_spec.full_gem_path,
15
- "lib/auth_sanitizer/loader.rb",
16
- )
17
- unless File.file?(auth_sanitizer_loader_path)
18
- # :nocov:
19
- raise LoadError, "oauth requires auth-sanitizer #{auth_sanitizer_requirement}; " \
20
- "loader not found at #{auth_sanitizer_loader_path}"
21
- # :nocov:
22
- end
23
-
24
- auth_sanitizer_loader_namespace = Module.new
25
- auth_sanitizer_loader_namespace.module_eval(
26
- File.read(auth_sanitizer_loader_path),
27
- auth_sanitizer_loader_path,
28
- 1,
7
+ auth_sanitizer_requirement = Gem::Requirement.new("~> 0.2", ">= 0.2.2")
8
+ auth_sanitizer_loader_namespace = AnonymousLoader.load_path(
9
+ gem_name: "auth-sanitizer",
10
+ require_path: "auth_sanitizer/loader.rb",
11
+ version_requirement: auth_sanitizer_requirement,
12
+ version_file: "auth/sanitizer/version.rb"
29
13
  )
30
14
 
31
15
  auth_sanitizer_loader_namespace
@@ -14,7 +14,7 @@ module ActionController
14
14
  if defined? ActionDispatch
15
15
  def process_with_new_base_test(request, response = nil)
16
16
  request.apply_oauth! if request.respond_to?(:apply_oauth!)
17
- super(request, response)
17
+ super
18
18
  end
19
19
  else
20
20
  def process_with_oauth(request, response = nil)
@@ -45,7 +45,7 @@ module ActionController
45
45
  scheme: "header",
46
46
  signature_method: nil,
47
47
  nonce: nil,
48
- timestamp: nil,
48
+ timestamp: nil
49
49
  }.merge(options)
50
50
  end
51
51
 
@@ -54,7 +54,7 @@ module ActionController
54
54
 
55
55
  @oauth_helper = OAuth::Client::Helper.new(
56
56
  self,
57
- @oauth_options.merge(request_uri: (respond_to?(:fullpath) ? fullpath : request_uri)),
57
+ @oauth_options.merge(request_uri: (respond_to?(:fullpath) ? fullpath : request_uri))
58
58
  )
59
59
  @oauth_helper.amend_user_agent_header(env)
60
60
 
@@ -34,7 +34,7 @@ if OAuth::Optional.em_http_available?
34
34
  scheme: "header",
35
35
  signature_method: nil,
36
36
  nonce: nil,
37
- timestamp: nil,
37
+ timestamp: nil
38
38
  }.merge(options)
39
39
 
40
40
  @oauth_helper = OAuth::Client::Helper.new(self, options)
@@ -62,7 +62,7 @@ if OAuth::Optional.em_http_available?
62
62
  scheme: "header",
63
63
  signature_method: nil,
64
64
  nonce: nil,
65
- timestamp: nil,
65
+ timestamp: nil
66
66
  }.merge(options)
67
67
 
68
68
  OAuth::Client::Helper.new(self, options).signature_base_string
@@ -38,7 +38,7 @@ module OAuth
38
38
  "oauth_nonce" => nonce,
39
39
  "oauth_verifier" => options[:oauth_verifier],
40
40
  "oauth_version" => options[:oauth_version] || "1.0",
41
- "oauth_session_handle" => options[:oauth_session_handle],
41
+ "oauth_session_handle" => options[:oauth_session_handle]
42
42
  }
43
43
  allowed_empty_params = options[:allow_empty_params]
44
44
  if allowed_empty_params != true && !allowed_empty_params.is_a?(Array)
@@ -53,7 +53,7 @@ module OAuth
53
53
  uri: options[:request_uri],
54
54
  consumer: options[:consumer],
55
55
  token: options[:token],
56
- unsigned_parameters: options[:unsigned_parameters],
56
+ unsigned_parameters: options[:unsigned_parameters]
57
57
  }.merge(extra_options))
58
58
  end
59
59
 
@@ -62,7 +62,7 @@ module OAuth
62
62
  uri: options[:request_uri],
63
63
  consumer: options[:consumer],
64
64
  token: options[:token],
65
- parameters: oauth_parameters,
65
+ parameters: oauth_parameters
66
66
  }.merge(extra_options))
67
67
  end
68
68
 
@@ -66,7 +66,7 @@ module Net
66
66
  signature_method: nil,
67
67
  nonce: nil,
68
68
  timestamp: nil,
69
- body_hash_enabled: true,
69
+ body_hash_enabled: true
70
70
  }.merge(options)
71
71
  end
72
72
 
@@ -94,8 +94,8 @@ module OAuth
94
94
  # default. Cross-origin redirects can re-sign token requests for an
95
95
  # attacker-controlled endpoint, so they require explicit opt-in.
96
96
  token_request_max_redirects: 10,
97
- token_request_cross_origin_redirects: false,
98
- },
97
+ token_request_cross_origin_redirects: false
98
+ }
99
99
  )
100
100
 
101
101
  attr_accessor :options, :key, :secret
@@ -241,7 +241,7 @@ module OAuth
241
241
  (request_token_url? ? request_token_url : request_token_path),
242
242
  nil,
243
243
  request_options,
244
- *arguments,
244
+ *arguments
245
245
  )
246
246
  end
247
247
  OAuth::RequestToken.from_hash(self, response)
@@ -490,7 +490,7 @@ module OAuth
490
490
  proxy_uri.host,
491
491
  proxy_uri.port,
492
492
  proxy_uri.user,
493
- proxy_uri.password,
493
+ proxy_uri.password
494
494
  )
495
495
  end
496
496
 
@@ -32,7 +32,7 @@ module OAuth
32
32
 
33
33
  def normalized_uri
34
34
  super
35
- rescue StandardError
35
+ rescue
36
36
  # if this is a non-standard URI, it may not parse properly
37
37
  # in that case, assume that it's already been normalized
38
38
  uri
data/lib/oauth/server.rb CHANGED
@@ -13,7 +13,7 @@ module OAuth
13
13
  @@server_paths = {
14
14
  request_token_path: "/oauth/request_token",
15
15
  authorize_path: "/oauth/authorize",
16
- access_token_path: "/oauth/access_token",
16
+ access_token_path: "/oauth/access_token"
17
17
  }
18
18
 
19
19
  # Create a new server instance
@@ -40,8 +40,8 @@ module OAuth
40
40
  site: base_url,
41
41
  request_token_path: request_token_path,
42
42
  authorize_path: authorize_path,
43
- access_token_path: access_token_path,
44
- },
43
+ access_token_path: access_token_path
44
+ }
45
45
  )
46
46
  end
47
47
 
@@ -11,6 +11,11 @@ module OAuth
11
11
  def ==(other)
12
12
  decoded = Base64.decode64(other.is_a?(Array) ? other.first : other)
13
13
  public_key.verify(OpenSSL::Digest.new("SHA1"), decoded, signature_base_string)
14
+ rescue OpenSSL::PKey::PKeyError
15
+ private_key = private_key_from_consumer_secret
16
+ raise unless private_key
17
+
18
+ private_key.sign(OpenSSL::Digest.new("SHA1"), signature_base_string) == decoded
14
19
  end
15
20
 
16
21
  def public_key
@@ -19,6 +24,8 @@ module OAuth
19
24
  decode_public_key
20
25
  when OpenSSL::X509::Certificate
21
26
  consumer_secret.public_key
27
+ when OpenSSL::PKey::RSA
28
+ consumer_secret.public_key
22
29
  else
23
30
  consumer_secret
24
31
  end
@@ -29,7 +36,7 @@ module OAuth
29
36
  data = request.body || ""
30
37
  begin
31
38
  digest_bytes = OpenSSL::Digest.digest("SHA1", data)
32
- rescue StandardError
39
+ rescue
33
40
  digest_bytes = ::Digest::SHA1.digest(data)
34
41
  end
35
42
  Base64.encode64(digest_bytes).chomp.delete("\n")
@@ -42,7 +49,18 @@ module OAuth
42
49
  when /-----BEGIN CERTIFICATE-----/
43
50
  OpenSSL::X509::Certificate.new(consumer_secret).public_key
44
51
  else
52
+ OpenSSL::PKey::RSA.new(consumer_secret).public_key
53
+ end
54
+ end
55
+
56
+ def private_key_from_consumer_secret
57
+ case consumer_secret
58
+ when String
59
+ return nil if consumer_secret =~ /-----BEGIN CERTIFICATE-----/
60
+
45
61
  OpenSSL::PKey::RSA.new(consumer_secret)
62
+ when OpenSSL::PKey::RSA
63
+ consumer_secret
46
64
  end
47
65
  end
48
66
 
@@ -54,7 +72,7 @@ module OAuth
54
72
  options[:private_key]
55
73
  else
56
74
  consumer_secret
57
- end,
75
+ end
58
76
  )
59
77
 
60
78
  private_key.sign(OpenSSL::Digest.new("SHA1"), signature_base_string)
@@ -11,7 +11,7 @@ module OAuth
11
11
  is_service_uri_different = request_uri.absolute? && request_uri != site_uri
12
12
  begin
13
13
  consumer.uri(request_uri) if is_service_uri_different
14
- @response = super(http_method, path, *arguments)
14
+ @response = super
15
15
  ensure
16
16
  # NOTE: reset for wholesomeness? meaning that we admit only AccessToken service calls may use different URIs?
17
17
  # so reset in case consumer is still used for other token-management tasks subsequently?
@@ -30,7 +30,7 @@ module OAuth
30
30
  (consumer.access_token_url? ? consumer.access_token_url : consumer.access_token_path),
31
31
  self,
32
32
  options,
33
- *arguments,
33
+ *arguments
34
34
  )
35
35
  OAuth::AccessToken.from_hash(consumer, response)
36
36
  end
data/lib/oauth/version.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  module OAuth
4
4
  module Version
5
- VERSION = "1.1.6"
5
+ VERSION = "1.1.8"
6
6
  end
7
7
  VERSION = Version::VERSION # Traditional Constant Location
8
8
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,18 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 1.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pelle Braendgaard
8
- - Blaine Cook
9
- - Larry Halff
10
- - Jesse Clark
8
+ - Chris Mear
11
9
  - Jon Crosby
12
10
  - Seth Fitzsimmons
13
- - Matt Sanford
11
+ - Tilmann Singer
12
+ - Tom Insam
13
+ - tsailipu
14
14
  - Aaron Quint
15
- - Peter Boling
15
+ - Anders Conbere
16
+ - Bill Kocik
17
+ - Darcy Laycock
18
+ - Eric Hartmann
19
+ - Greg Weber
20
+ - Laszlo Bacsi
21
+ - Marshall Huss
22
+ - Matt Sanford
23
+ - Neill Pearman
24
+ - Seth Cousins
25
+ - Yoan Blanc
26
+ - andrehjr
27
+ - Brian Finney
28
+ - ecavazos
29
+ - Joshua Hull
30
+ - Marsh Gardiner
31
+ - Michael Reinsch
32
+ - Sean Cribbs
33
+ - Steven Parkes
34
+ - 成田 一生
35
+ - Shaliko Usubov
36
+ - Ernie Miller
37
+ - Jonathon M. Abbott
38
+ - Richard Huang
39
+ - rick
40
+ - Steven Hammond
41
+ - Craig Walker
42
+ - Khem Veasna
43
+ - Brian John
44
+ - Michal Papis
45
+ - raeno
46
+ - jremmen
47
+ - Kevin Hughes
48
+ - Eric True
49
+ - James Pinto
50
+ - jianben
51
+ - Nik Wakelin
52
+ - Ondrej Prazak
53
+ - Nicholas Souphandavong
54
+ - Yvonne
55
+ - Agora@Ubuntu-dev
56
+ - Shohei Maeda
57
+ - Khem
58
+ - Chuck Remes
59
+ - iamibi
60
+ - Jeremy Sioui
61
+ - Nick Morgan
62
+ - Peter H. Boling
63
+ - Richard Vowles
64
+ - Shalvah
65
+ - Annibelle Boling
66
+ - Aboling0
67
+ - David Varga
68
+ - StepSecurity Bot
16
69
  bindir: exe
17
70
  cert_chain:
18
71
  - |
@@ -46,53 +99,59 @@ cert_chain:
46
99
  date: 1980-01-02 00:00:00.000000000 Z
47
100
  dependencies:
48
101
  - !ruby/object:Gem::Dependency
49
- name: auth-sanitizer
102
+ name: anonymous_loader
50
103
  requirement: !ruby/object:Gem::Requirement
51
104
  requirements:
52
105
  - - "~>"
53
106
  - !ruby/object:Gem::Version
54
- version: '0.2'
107
+ version: '0.1'
55
108
  - - ">="
56
109
  - !ruby/object:Gem::Version
57
- version: 0.2.1
110
+ version: 0.1.3
58
111
  type: :runtime
59
112
  prerelease: false
60
113
  version_requirements: !ruby/object:Gem::Requirement
61
114
  requirements:
62
115
  - - "~>"
63
116
  - !ruby/object:Gem::Version
64
- version: '0.2'
117
+ version: '0.1'
65
118
  - - ">="
66
119
  - !ruby/object:Gem::Version
67
- version: 0.2.1
120
+ version: 0.1.3
68
121
  - !ruby/object:Gem::Dependency
69
- name: base64
122
+ name: auth-sanitizer
70
123
  requirement: !ruby/object:Gem::Requirement
71
124
  requirements:
72
125
  - - "~>"
73
126
  - !ruby/object:Gem::Version
74
- version: '0.1'
127
+ version: '0.2'
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: 0.2.3
75
131
  type: :runtime
76
132
  prerelease: false
77
133
  version_requirements: !ruby/object:Gem::Requirement
78
134
  requirements:
79
135
  - - "~>"
80
136
  - !ruby/object:Gem::Version
81
- version: '0.1'
137
+ version: '0.2'
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: 0.2.3
82
141
  - !ruby/object:Gem::Dependency
83
- name: cgi
142
+ name: base64
84
143
  requirement: !ruby/object:Gem::Requirement
85
144
  requirements:
86
- - - ">="
145
+ - - "~>"
87
146
  - !ruby/object:Gem::Version
88
- version: '0'
147
+ version: '0.1'
89
148
  type: :runtime
90
149
  prerelease: false
91
150
  version_requirements: !ruby/object:Gem::Requirement
92
151
  requirements:
93
- - - ">="
152
+ - - "~>"
94
153
  - !ruby/object:Gem::Version
95
- version: '0'
154
+ version: '0.1'
96
155
  - !ruby/object:Gem::Dependency
97
156
  name: oauth-tty
98
157
  requirement: !ruby/object:Gem::Requirement
@@ -102,7 +161,7 @@ dependencies:
102
161
  version: '1.0'
103
162
  - - ">="
104
163
  - !ruby/object:Gem::Version
105
- version: 1.0.8
164
+ version: 1.0.13
106
165
  type: :runtime
107
166
  prerelease: false
108
167
  version_requirements: !ruby/object:Gem::Requirement
@@ -112,7 +171,7 @@ dependencies:
112
171
  version: '1.0'
113
172
  - - ">="
114
173
  - !ruby/object:Gem::Version
115
- version: 1.0.8
174
+ version: 1.0.13
116
175
  - !ruby/object:Gem::Dependency
117
176
  name: snaky_hash
118
177
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +181,7 @@ dependencies:
122
181
  version: '2.0'
123
182
  - - ">="
124
183
  - !ruby/object:Gem::Version
125
- version: 2.0.5
184
+ version: 2.0.7
126
185
  type: :runtime
127
186
  prerelease: false
128
187
  version_requirements: !ruby/object:Gem::Requirement
@@ -132,7 +191,7 @@ dependencies:
132
191
  version: '2.0'
133
192
  - - ">="
134
193
  - !ruby/object:Gem::Version
135
- version: 2.0.5
194
+ version: 2.0.7
136
195
  - !ruby/object:Gem::Dependency
137
196
  name: version_gem
138
197
  requirement: !ruby/object:Gem::Requirement
@@ -142,7 +201,7 @@ dependencies:
142
201
  version: '1.1'
143
202
  - - ">="
144
203
  - !ruby/object:Gem::Version
145
- version: 1.1.11
204
+ version: 1.1.14
146
205
  type: :runtime
147
206
  prerelease: false
148
207
  version_requirements: !ruby/object:Gem::Requirement
@@ -152,27 +211,27 @@ dependencies:
152
211
  version: '1.1'
153
212
  - - ">="
154
213
  - !ruby/object:Gem::Version
155
- version: 1.1.11
214
+ version: 1.1.14
156
215
  - !ruby/object:Gem::Dependency
157
216
  name: kettle-dev
158
217
  requirement: !ruby/object:Gem::Requirement
159
218
  requirements:
160
219
  - - "~>"
161
220
  - !ruby/object:Gem::Version
162
- version: '2.1'
221
+ version: '2.3'
163
222
  - - ">="
164
223
  - !ruby/object:Gem::Version
165
- version: 2.1.1
224
+ version: 2.3.4
166
225
  type: :development
167
226
  prerelease: false
168
227
  version_requirements: !ruby/object:Gem::Requirement
169
228
  requirements:
170
229
  - - "~>"
171
230
  - !ruby/object:Gem::Version
172
- version: '2.1'
231
+ version: '2.3'
173
232
  - - ">="
174
233
  - !ruby/object:Gem::Version
175
- version: 2.1.1
234
+ version: 2.3.4
176
235
  - !ruby/object:Gem::Dependency
177
236
  name: bundler-audit
178
237
  requirement: !ruby/object:Gem::Requirement
@@ -230,7 +289,7 @@ dependencies:
230
289
  version: '3.1'
231
290
  - - ">="
232
291
  - !ruby/object:Gem::Version
233
- version: 3.1.1
292
+ version: 3.1.4
234
293
  type: :development
235
294
  prerelease: false
236
295
  version_requirements: !ruby/object:Gem::Requirement
@@ -240,7 +299,7 @@ dependencies:
240
299
  version: '3.1'
241
300
  - - ">="
242
301
  - !ruby/object:Gem::Version
243
- version: 3.1.1
302
+ version: 3.1.4
244
303
  - !ruby/object:Gem::Dependency
245
304
  name: kettle-test
246
305
  requirement: !ruby/object:Gem::Requirement
@@ -250,7 +309,7 @@ dependencies:
250
309
  version: '2.0'
251
310
  - - ">="
252
311
  - !ruby/object:Gem::Version
253
- version: 2.0.3
312
+ version: 2.0.10
254
313
  type: :development
255
314
  prerelease: false
256
315
  version_requirements: !ruby/object:Gem::Requirement
@@ -260,7 +319,7 @@ dependencies:
260
319
  version: '2.0'
261
320
  - - ">="
262
321
  - !ruby/object:Gem::Version
263
- version: 2.0.3
322
+ version: 2.0.10
264
323
  - !ruby/object:Gem::Dependency
265
324
  name: turbo_tests2
266
325
  requirement: !ruby/object:Gem::Requirement
@@ -270,7 +329,7 @@ dependencies:
270
329
  version: '3.1'
271
330
  - - ">="
272
331
  - !ruby/object:Gem::Version
273
- version: 3.1.1
332
+ version: 3.1.9
274
333
  type: :development
275
334
  prerelease: false
276
335
  version_requirements: !ruby/object:Gem::Requirement
@@ -280,7 +339,7 @@ dependencies:
280
339
  version: '3.1'
281
340
  - - ">="
282
341
  - !ruby/object:Gem::Version
283
- version: 3.1.1
342
+ version: 3.1.9
284
343
  - !ruby/object:Gem::Dependency
285
344
  name: ruby-progressbar
286
345
  requirement: !ruby/object:Gem::Requirement
@@ -304,7 +363,7 @@ dependencies:
304
363
  version: '1.0'
305
364
  - - ">="
306
365
  - !ruby/object:Gem::Version
307
- version: 1.0.3
366
+ version: 1.0.6
308
367
  type: :development
309
368
  prerelease: false
310
369
  version_requirements: !ruby/object:Gem::Requirement
@@ -314,7 +373,7 @@ dependencies:
314
373
  version: '1.0'
315
374
  - - ">="
316
375
  - !ruby/object:Gem::Version
317
- version: 1.0.3
376
+ version: 1.0.6
318
377
  - !ruby/object:Gem::Dependency
319
378
  name: gitmoji-regex
320
379
  requirement: !ruby/object:Gem::Requirement
@@ -324,7 +383,7 @@ dependencies:
324
383
  version: '2.0'
325
384
  - - ">="
326
385
  - !ruby/object:Gem::Version
327
- version: 2.0.1
386
+ version: 2.0.4
328
387
  type: :development
329
388
  prerelease: false
330
389
  version_requirements: !ruby/object:Gem::Requirement
@@ -334,7 +393,27 @@ dependencies:
334
393
  version: '2.0'
335
394
  - - ">="
336
395
  - !ruby/object:Gem::Version
337
- version: 2.0.1
396
+ version: 2.0.4
397
+ - !ruby/object:Gem::Dependency
398
+ name: backports
399
+ requirement: !ruby/object:Gem::Requirement
400
+ requirements:
401
+ - - "~>"
402
+ - !ruby/object:Gem::Version
403
+ version: '3.25'
404
+ - - ">="
405
+ - !ruby/object:Gem::Version
406
+ version: 3.25.1
407
+ type: :development
408
+ prerelease: false
409
+ version_requirements: !ruby/object:Gem::Requirement
410
+ requirements:
411
+ - - "~>"
412
+ - !ruby/object:Gem::Version
413
+ version: '3.25'
414
+ - - ">="
415
+ - !ruby/object:Gem::Version
416
+ version: 3.25.1
338
417
  - !ruby/object:Gem::Dependency
339
418
  name: mocha
340
419
  requirement: !ruby/object:Gem::Requirement
@@ -405,26 +484,6 @@ dependencies:
405
484
  - - ">="
406
485
  - !ruby/object:Gem::Version
407
486
  version: 0.1.13
408
- - !ruby/object:Gem::Dependency
409
- name: backports
410
- requirement: !ruby/object:Gem::Requirement
411
- requirements:
412
- - - "~>"
413
- - !ruby/object:Gem::Version
414
- version: '3.25'
415
- - - ">="
416
- - !ruby/object:Gem::Version
417
- version: 3.25.1
418
- type: :development
419
- prerelease: false
420
- version_requirements: !ruby/object:Gem::Requirement
421
- requirements:
422
- - - "~>"
423
- - !ruby/object:Gem::Version
424
- version: '3.25'
425
- - - ">="
426
- - !ruby/object:Gem::Version
427
- version: 3.25.1
428
487
  - !ruby/object:Gem::Dependency
429
488
  name: vcr
430
489
  requirement: !ruby/object:Gem::Requirement
@@ -453,10 +512,9 @@ dependencies:
453
512
  - - ">="
454
513
  - !ruby/object:Gem::Version
455
514
  version: '3'
456
- description: "\U0001F511 A Ruby wrapper for the original OAuth 1.0 / 1.0a spec."
515
+ description: "\U0001F52E A Ruby wrapper for the original OAuth 1.0 / 1.0a spec."
457
516
  email:
458
517
  - floss@galtzo.com
459
- - oauth-ruby@googlegroups.com
460
518
  executables: []
461
519
  extensions: []
462
520
  extra_rdoc_files:
@@ -476,6 +534,7 @@ files:
476
534
  - CONTRIBUTING.md
477
535
  - FUNDING.md
478
536
  - LICENSE.md
537
+ - MIT.md
479
538
  - README.md
480
539
  - RUBOCOP.md
481
540
  - SECURITY.md
@@ -531,10 +590,10 @@ licenses:
531
590
  - MIT
532
591
  metadata:
533
592
  homepage_uri: https://oauth.galtzo.com
534
- source_code_uri: https://github.com/ruby-oauth/oauth/tree/v1.1.6
535
- changelog_uri: https://github.com/ruby-oauth/oauth/blob/v1.1.6/CHANGELOG.md
593
+ source_code_uri: https://github.com/ruby-oauth/oauth/tree/v1.1.8
594
+ changelog_uri: https://github.com/ruby-oauth/oauth/blob/v1.1.8/CHANGELOG.md
536
595
  bug_tracker_uri: https://github.com/ruby-oauth/oauth/issues
537
- documentation_uri: https://www.rubydoc.info/gems/oauth/1.1.6
596
+ documentation_uri: https://www.rubydoc.info/gems/oauth/1.1.8
538
597
  funding_uri: https://github.com/sponsors/pboling
539
598
  wiki_uri: https://github.com/ruby-oauth/oauth/wiki
540
599
  news_uri: https://www.railsbling.com/tags/oauth
@@ -542,7 +601,7 @@ metadata:
542
601
  rubygems_mfa_required: 'true'
543
602
  rdoc_options:
544
603
  - "--title"
545
- - "oauth - \U0001F511 OAuth 1.0 / 1.0a Core Ruby implementation"
604
+ - "oauth - \U0001F52E OAuth 1.0 / 1.0a Core Ruby implementation"
546
605
  - "--main"
547
606
  - README.md
548
607
  - "--exclude"
@@ -563,7 +622,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
563
622
  - !ruby/object:Gem::Version
564
623
  version: '0'
565
624
  requirements: []
566
- rubygems_version: 4.0.10
625
+ rubygems_version: 4.0.16
567
626
  specification_version: 4
568
- summary: "\U0001F511 OAuth 1.0 / 1.0a Core Ruby implementation"
627
+ summary: "\U0001F52E OAuth 1.0 / 1.0a Core Ruby implementation"
569
628
  test_files: []
metadata.gz.sig CHANGED
Binary file