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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +82 -1
- data/CONTRIBUTING.md +6 -3
- data/FUNDING.md +1 -5
- data/MIT.md +21 -0
- data/README.md +42 -22
- data/lib/oauth/auth_sanitizer.rb +8 -24
- data/lib/oauth/client/action_controller_request.rb +3 -3
- data/lib/oauth/client/em_http.rb +2 -2
- data/lib/oauth/client/helper.rb +3 -3
- data/lib/oauth/client/net_http.rb +1 -1
- data/lib/oauth/consumer.rb +4 -4
- data/lib/oauth/request_proxy/mock_request.rb +1 -1
- data/lib/oauth/server.rb +3 -3
- data/lib/oauth/signature/rsa/sha1.rb +20 -2
- data/lib/oauth/tokens/access_token.rb +1 -1
- data/lib/oauth/tokens/request_token.rb +1 -1
- data/lib/oauth/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +126 -67
- 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: 810ba9adfd17d13a110f3e89a570d93acc88916e8641a34a4658905215586f33
|
|
4
|
+
data.tar.gz: 39aeb0e041b6d2d329714564b404bed78adc6a895f7bcdaa49edf2b7738d7f81
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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
|
-
#
|
|
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
|
|
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
|
|
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
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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 | [](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 | [](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 | [](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 | [](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 | [](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 | [](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 | [](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 | [](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/
|
|
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
|
|
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-
|
|
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
|
|
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 |
|
|
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
|
|
735
|
+
| Source | https://github.com/ruby-oauth/oauth |
|
|
716
736
|
| License | `MIT` |
|
|
717
|
-
| Funding | https://github.com/sponsors/pboling, https://
|
|
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 -->
|
data/lib/oauth/auth_sanitizer.rb
CHANGED
|
@@ -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.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
|
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
|
|
data/lib/oauth/client/em_http.rb
CHANGED
|
@@ -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
|
data/lib/oauth/client/helper.rb
CHANGED
|
@@ -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
|
|
data/lib/oauth/consumer.rb
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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?
|
data/lib/oauth/version.rb
CHANGED
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.
|
|
4
|
+
version: 1.1.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Pelle Braendgaard
|
|
8
|
-
-
|
|
9
|
-
- Larry Halff
|
|
10
|
-
- Jesse Clark
|
|
8
|
+
- Chris Mear
|
|
11
9
|
- Jon Crosby
|
|
12
10
|
- Seth Fitzsimmons
|
|
13
|
-
-
|
|
11
|
+
- Tilmann Singer
|
|
12
|
+
- Tom Insam
|
|
13
|
+
- tsailipu
|
|
14
14
|
- Aaron Quint
|
|
15
|
-
-
|
|
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:
|
|
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.
|
|
107
|
+
version: '0.1'
|
|
55
108
|
- - ">="
|
|
56
109
|
- !ruby/object:Gem::Version
|
|
57
|
-
version: 0.
|
|
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.
|
|
117
|
+
version: '0.1'
|
|
65
118
|
- - ">="
|
|
66
119
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: 0.
|
|
120
|
+
version: 0.1.3
|
|
68
121
|
- !ruby/object:Gem::Dependency
|
|
69
|
-
name:
|
|
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.
|
|
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.
|
|
137
|
+
version: '0.2'
|
|
138
|
+
- - ">="
|
|
139
|
+
- !ruby/object:Gem::Version
|
|
140
|
+
version: 0.2.3
|
|
82
141
|
- !ruby/object:Gem::Dependency
|
|
83
|
-
name:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
221
|
+
version: '2.3'
|
|
163
222
|
- - ">="
|
|
164
223
|
- !ruby/object:Gem::Version
|
|
165
|
-
version: 2.
|
|
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.
|
|
231
|
+
version: '2.3'
|
|
173
232
|
- - ">="
|
|
174
233
|
- !ruby/object:Gem::Version
|
|
175
|
-
version: 2.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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: "\
|
|
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.
|
|
535
|
-
changelog_uri: https://github.com/ruby-oauth/oauth/blob/v1.1.
|
|
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.
|
|
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 - \
|
|
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.
|
|
625
|
+
rubygems_version: 4.0.16
|
|
567
626
|
specification_version: 4
|
|
568
|
-
summary: "\
|
|
627
|
+
summary: "\U0001F52E OAuth 1.0 / 1.0a Core Ruby implementation"
|
|
569
628
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|