oauth 0.6.2 → 1.0.0
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
- data/CHANGELOG.md +8 -12
- data/CONTRIBUTING.md +1 -1
- data/LICENSE +2 -1
- data/README.md +25 -22
- data/SECURITY.md +10 -5
- data/lib/oauth/cli/sign_command.rb +1 -3
- data/lib/oauth/client/em_http.rb +1 -3
- data/lib/oauth/consumer.rb +46 -57
- data/lib/oauth/request_proxy/action_controller_request.rb +3 -24
- data/lib/oauth/request_proxy/base.rb +1 -1
- data/lib/oauth/request_proxy/net_http.rb +1 -3
- data/lib/oauth/signature/base.rb +1 -3
- data/lib/oauth/version.rb +1 -1
- data/lib/oauth.rb +0 -1
- metadata +16 -30
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a742c9fad7615c19f25dc2b780f8811029314827b05f91bf803b2a4b92805e10
|
|
4
|
+
data.tar.gz: dda3f9afdca321d3613bc6344d71a4cfffa43e19c380f3d86325aeaed09cc388
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4abeba00e6da594572d2e74c974ac8658c947aa43fd9ea06f6e600df9a0b7b73d31bd8051cddab35749b8ed37346482c00653f29b9882d3b88a10d0716108403
|
|
7
|
+
data.tar.gz: cdd3b2015294fef30bd722804486c50dc1b19f566b6ae5ddc65e4ceb83e284439ff7059d9a6d5c098bb945122663223b0e383a3732f298b46a5bef1946aa9a39
|
data/CHANGELOG.md
CHANGED
|
@@ -13,10 +13,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
13
13
|
|
|
14
14
|
### Removed
|
|
15
15
|
|
|
16
|
-
## [0.
|
|
16
|
+
## [1.0.0] 2022-08-23
|
|
17
17
|
### Changed
|
|
18
|
-
*
|
|
19
|
-
|
|
18
|
+
* Dropped support for Ruby < 2.7
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
* New EOL Policy
|
|
22
|
+
* Non-commercial support for the oldest version of Ruby (which itself is going EOL) will be dropped each year in April
|
|
20
23
|
|
|
21
24
|
## [0.6.1] 2022-08-23
|
|
22
25
|
### Changed
|
|
@@ -40,12 +43,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
40
43
|
### Removed
|
|
41
44
|
* Ruby 2.0, 2.1, 2.2, and 2.3 are no longer valid install targets
|
|
42
45
|
|
|
43
|
-
## [0.5.14] 2022-08-29
|
|
44
|
-
The "hopeful last 0.5.x" Release
|
|
45
|
-
|
|
46
|
-
### Fixed
|
|
47
|
-
* More typos fixed
|
|
48
|
-
|
|
49
46
|
## [0.5.13] 2022-08-23
|
|
50
47
|
The "I think I caught 'em all!" Release
|
|
51
48
|
|
|
@@ -442,11 +439,10 @@ but please have a look at the unit tests.
|
|
|
442
439
|
* Moved all non-Rails functionality from the Rails plugin:
|
|
443
440
|
http://code.google.com/p/oauth-plugin/
|
|
444
441
|
|
|
445
|
-
[Unreleased]: https://github.com/oauth-xx/oauth-ruby/compare/
|
|
446
|
-
[0.
|
|
442
|
+
[Unreleased]: https://github.com/oauth-xx/oauth-ruby/compare/v1.0.0...main
|
|
443
|
+
[1.0.0]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v1.0.0
|
|
447
444
|
[0.6.1]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.6.1
|
|
448
445
|
[0.6.0]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.6.0
|
|
449
|
-
[0.5.14]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.5.14
|
|
450
446
|
[0.5.13]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.5.13
|
|
451
447
|
[0.5.12]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.5.12
|
|
452
448
|
[0.5.11]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.5.11
|
data/CONTRIBUTING.md
CHANGED
|
@@ -17,7 +17,7 @@ Made with [contributors-img][contrib-rocks].
|
|
|
17
17
|
[comment]: <> (Following links are used by README, CONTRIBUTING, Homepage)
|
|
18
18
|
|
|
19
19
|
[conduct]: https://github.com/oauth-xx/oauth-ruby/blob/main/CODE_OF_CONDUCT.md
|
|
20
|
-
[contributing]: https://github.com/oauth-xx/oauth-ruby/blob/main/CONTRIBUTING.md
|
|
21
20
|
[contributors]: https://github.com/oauth-xx/oauth-ruby/graphs/contributors
|
|
22
21
|
[mailinglist]: http://groups.google.com/group/oauth-ruby
|
|
23
22
|
[source]: https://github.com/oauth-xx/oauth-ruby/
|
|
23
|
+
[contrib-rocks]: https://contrib.rocks
|
data/LICENSE
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2007-2012, 2016-2017
|
|
3
|
+
Copyright (c) 2007-2012, 2016-2017 Blaine Cook, Larry Halff, Pelle Braendgaard
|
|
4
|
+
Copyright (c) 2020-2022 Peter Boling
|
|
4
5
|
|
|
5
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
7
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
|
@@ -20,11 +20,17 @@ See the sibling `oauth2` gem for OAuth 2.0 implementations in Ruby.
|
|
|
20
20
|
[oauth1-spec]: http://oauth.net/core/1.0/
|
|
21
21
|
[sibling-gem]: https://github.com/oauth-xx/oauth-ruby
|
|
22
22
|
|
|
23
|
-
**
|
|
23
|
+
**New EOL Policy**
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
Versions 1.0.x will be EOL no later than April, 2025.
|
|
26
|
+
Versions 0.6.x will be EOL no later than April, 2024.
|
|
27
|
+
Versions 0.5.x will be EOL no later than April, 2023.
|
|
28
|
+
|
|
29
|
+
This will facilitate dropping support for old, dead, and crusty versions of Ruby.
|
|
30
|
+
|
|
31
|
+
Non-commercial support for the oldest version of Ruby (which itself is going EOL) will be dropped each year in April.
|
|
32
|
+
|
|
33
|
+
Please upgrade to version 1.0. The only breaking change in 1.0 is dropping old Rubies.
|
|
28
34
|
|
|
29
35
|
## Status
|
|
30
36
|
|
|
@@ -57,10 +63,10 @@ appended indicators:
|
|
|
57
63
|
|
|
58
64
|
| | Project | bundle add oauth |
|
|
59
65
|
|:----|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
60
|
-
| 1️⃣ | name, license, docs | [![RubyGems.org][⛳️name-img]][⛳️gem] [![License: MIT][🖇src-license-img]][🖇src-license] [![
|
|
66
|
+
| 1️⃣ | name, license, docs | [![RubyGems.org][⛳️name-img]][⛳️gem] [![License: MIT][🖇src-license-img]][🖇src-license] [![RubyDoc.info][🚎yard-img]][🚎yard] |
|
|
61
67
|
| 2️⃣ | version & activity | [![Gem Version][⛳️version-img]][⛳️gem] [![Total Downloads][🖇DL-total-img]][⛳️gem] [![Download Rank][🏘DL-rank-img]][⛳️gem] [![Source Code][🚎src-home-img]][🚎src-home] [![Open PRs][🖐prs-o-img]][🖐prs-o] [![Closed PRs][🧮prs-c-img]][🧮prs-c] <!--[![Next Version][📗next-img]][📗next]--> |
|
|
62
68
|
| 3️⃣ | maintenance & linting | [![Maintainability][⛳cclim-maint-img♻️]][⛳cclim-maint] [![Helpers][🖇triage-help-img]][🖇triage-help] [![Depfu][🏘depfu-img♻️]][🏘depfu♻️] [![Contributors][🚎contributors-img]][🚎contributors] [![Style][🖐style-wf-img]][🖐style-wf] [![Kloc Roll][🧮kloc-img]][🧮kloc] |
|
|
63
|
-
| 4️⃣ | testing | [![Open Issues][⛳iss-o-img]][⛳iss-o] [![Closed Issues][🖇iss-c-img]][🖇iss-c] [![Supported][🏘sup-wf-img]][🏘sup-wf] [![Heads][🚎heads-wf-img]][🚎heads-wf] [![
|
|
69
|
+
| 4️⃣ | testing | [![Open Issues][⛳iss-o-img]][⛳iss-o] [![Closed Issues][🖇iss-c-img]][🖇iss-c] [![Supported][🏘sup-wf-img]][🏘sup-wf] [![Heads][🚎heads-wf-img]][🚎heads-wf] [![MacOS][🧮mac-wf-img]][🧮mac-wf] [![Windows][📗win-wf-img]][📗win-wf] |
|
|
64
70
|
| 5️⃣ | coverage & security | [![CodeClimate][⛳cclim-cov-img♻️]][⛳cclim-cov] [![CodeCov][🖇codecov-img♻️]][🖇codecov] [![Coveralls][🏘coveralls-img]][🏘coveralls] [![Security Policy][🚎sec-pol-img]][🚎sec-pol] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Code Coverage][🧮cov-wf-img]][🧮cov-wf] |
|
|
65
71
|
| 6️⃣ | resources | [![Discussion][⛳gh-discussions-img]][⛳gh-discussions] [![Get help on Codementor][🖇codementor-img]][🖇codementor] [![Chat][🏘chat-img]][🏘chat] [![Blog][🚎blog-img]][🚎blog] [![Blog][🖐wiki-img]][🖐wiki] |
|
|
66
72
|
| 7️⃣ | spread 💖 | [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay] [![Sponsor Me][🖇sponsor-img]][🖇sponsor] [![Tweet @ Peter][🏘tweet-img]][🏘tweet] [🌏][aboutme] [👼][angelme] [💻][coderme] |
|
|
@@ -74,11 +80,8 @@ The link tokens in the following sections should be kept ordered by the row and
|
|
|
74
80
|
[⛳️name-img]: https://img.shields.io/badge/name-oauth-brightgreen.svg?style=flat
|
|
75
81
|
[🖇src-license]: https://opensource.org/licenses/MIT
|
|
76
82
|
[🖇src-license-img]: https://img.shields.io/badge/License-MIT-green.svg
|
|
77
|
-
[🏘fossa]: https://app.fossa.io/projects/git%2Bgithub.com%2Foauth-xx%2Foauth-ruby?ref=badge_shield
|
|
78
|
-
[🏘fossa-img]: https://app.fossa.io/api/projects/git%2Bgithub.com%2Foauth-xx%2Foauth-ruby.svg?type=shield
|
|
79
83
|
[🚎yard]: https://www.rubydoc.info/github/oauth-xx/oauth-ruby
|
|
80
84
|
[🚎yard-img]: https://img.shields.io/badge/documentation-rubydoc-brightgreen.svg?style=flat
|
|
81
|
-
[🖐inch-ci-img]: http://inch-ci.org/github/oauth-xx/oauth-ruby.png
|
|
82
85
|
|
|
83
86
|
<!-- 2️⃣ version & activity -->
|
|
84
87
|
[⛳️version-img]: http://img.shields.io/gem/v/oauth.svg
|
|
@@ -116,8 +119,6 @@ The link tokens in the following sections should be kept ordered by the row and
|
|
|
116
119
|
[🏘sup-wf-img]: https://github.com/oauth-xx/oauth-ruby/actions/workflows/supported.yml/badge.svg
|
|
117
120
|
[🚎heads-wf]: https://github.com/oauth-xx/oauth-ruby/actions/workflows/heads.yml
|
|
118
121
|
[🚎heads-wf-img]: https://github.com/oauth-xx/oauth-ruby/actions/workflows/heads.yml/badge.svg
|
|
119
|
-
[🖐uns-wf]: https://github.com/oauth-xx/oauth-ruby/actions/workflows/unsupported.yml
|
|
120
|
-
[🖐uns-wf-img]: https://github.com/oauth-xx/oauth-ruby/actions/workflows/unsupported.yml/badge.svg
|
|
121
122
|
[🧮mac-wf]: https://github.com/oauth-xx/oauth-ruby/actions/workflows/macos.yml
|
|
122
123
|
[🧮mac-wf-img]: https://github.com/oauth-xx/oauth-ruby/actions/workflows/macos.yml/badge.svg
|
|
123
124
|
[📗win-wf]: https://github.com/oauth-xx/oauth-ruby/actions/workflows/windows.yml
|
|
@@ -187,12 +188,12 @@ For more see [SECURITY.md][🚎sec-pol].
|
|
|
187
188
|
## Compatibility
|
|
188
189
|
|
|
189
190
|
Targeted ruby compatibility is non-EOL versions of Ruby, currently 2.7, 3.0, and
|
|
190
|
-
3.1. Ruby is limited to 2.
|
|
191
|
+
3.1. Ruby is limited to 2.7+ in the gemspec, and this will change with minor version bumps,
|
|
191
192
|
while the gem is still in 0.x, in accordance with the SemVer spec.
|
|
192
193
|
|
|
193
|
-
The `main` branch now targets 1.0.x releases.
|
|
194
|
-
See `v0.6-maintenance` branch for Ruby >= 2.4.
|
|
195
|
-
See `v0.5-maintenance` branch for Ruby >= 2.0.
|
|
194
|
+
The `main` branch now targets 1.0.x releases, for Ruby >= 2.7.
|
|
195
|
+
See `v0.6-maintenance` (EOL April, 2024) branch for Ruby >= 2.4.
|
|
196
|
+
See `v0.5-maintenance` (EOL April, 2023) branch for Ruby >= 2.0.
|
|
196
197
|
|
|
197
198
|
NOTE: No further releases of version < 1.0.x are anticipated.
|
|
198
199
|
|
|
@@ -224,12 +225,12 @@ fashion. If critical issues for a particular implementation exist at the time
|
|
|
224
225
|
of a major release, support for that Ruby version may be dropped.
|
|
225
226
|
</details>
|
|
226
227
|
|
|
227
|
-
| | Ruby OAuth Version | Maintenance Branch | 🚂 Compatibility | Official 💎 | Unofficial 💎 | Incidental 💎 |
|
|
228
|
-
|
|
229
|
-
| 1️⃣ | 1.0.x | `main` | Rails 6, 7 | 2.7, 3.0, 3.1 | sorry, not sorry | nope |
|
|
230
|
-
| 2️⃣ | 0.6.x | `v0.6-maintenance` | Rails 5, 6, 7 | 2.7, 3.0, 3.1 | 2.5, 2.6 | 2.4 |
|
|
231
|
-
| 3️⃣ | 0.5.x | `v0.5-maintenance` | Rails 2, 3, 4, 5, 6, 7 | 2.7, 3.0, 3.1 | 2.1, 2.2, 2.3, 2.4, 2.5, 2.6 | 2.0 |
|
|
232
|
-
| 4️⃣ | older | N/A | | Best of luck to you! | Please upgrade! | noop |
|
|
228
|
+
| | Ruby OAuth Version | Maintenance Branch | EOL | 🚂 Compatibility | Official 💎 | Unofficial 💎 | Incidental 💎 |
|
|
229
|
+
|:----|--------------------|--------------------|-----------|------------------------|----------------------|------------------------------|---------------|
|
|
230
|
+
| 1️⃣ | 1.0.x | `main` | | Rails 6, 7 | 2.7, 3.0, 3.1 | sorry, not sorry | nope |
|
|
231
|
+
| 2️⃣ | 0.6.x | `v0.6-maintenance` | 04/2024 | Rails 5, 6, 7 | 2.7, 3.0, 3.1 | 2.5, 2.6 | 2.4 |
|
|
232
|
+
| 3️⃣ | 0.5.x | `v0.5-maintenance` | 04/2023 | Rails 2, 3, 4, 5, 6, 7 | 2.7, 3.0, 3.1 | 2.1, 2.2, 2.3, 2.4, 2.5, 2.6 | 2.0 |
|
|
233
|
+
| 4️⃣ | older | N/A | yesterday | | Best of luck to you! | Please upgrade! | noop |
|
|
233
234
|
|
|
234
235
|
NOTE: Once 1.0 is released, the 0.x series will only receive critical bug and security updates.
|
|
235
236
|
See [SECURITY.md][🚎sec-pol]
|
|
@@ -319,6 +320,8 @@ See [CONTRIBUTING.md][contributing]
|
|
|
319
320
|
|
|
320
321
|
Made with [contributors-img][contrib-rocks].
|
|
321
322
|
|
|
323
|
+
[contrib-rocks]: https://contrib.rocks
|
|
324
|
+
|
|
322
325
|
## Versioning
|
|
323
326
|
|
|
324
327
|
This library aims to adhere to [Semantic Versioning 2.0.0][semver]. Violations of this scheme should be reported as
|
|
@@ -332,7 +335,7 @@ the [Pessimistic Version Constraint][pvc] with two digits of precision.
|
|
|
332
335
|
For example:
|
|
333
336
|
|
|
334
337
|
```ruby
|
|
335
|
-
spec.add_dependency "oauth", "~> 0
|
|
338
|
+
spec.add_dependency "oauth", "~> 1.0"
|
|
336
339
|
```
|
|
337
340
|
|
|
338
341
|
## License
|
data/SECURITY.md
CHANGED
|
@@ -2,11 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
## Supported Versions
|
|
4
4
|
|
|
5
|
-
| Version | Supported |
|
|
6
|
-
|
|
7
|
-
| 0.
|
|
8
|
-
| 0.
|
|
9
|
-
|
|
|
5
|
+
| Version | Supported | EOL |
|
|
6
|
+
|---------|--------------------|---------|
|
|
7
|
+
| 1.0.x | :white_check_mark: | 04/2025 |
|
|
8
|
+
| 0.6.x | :white_check_mark: | 04/2024 |
|
|
9
|
+
| 0.5.x | :white_check_mark: | 04/2023 |
|
|
10
|
+
| <= 0.5 | :x: | :x: |
|
|
11
|
+
|
|
12
|
+
### EOL Policy
|
|
13
|
+
|
|
14
|
+
Non-commercial support for the oldest version of Ruby (which itself is going EOL) will be dropped each year in April.
|
|
10
15
|
|
|
11
16
|
## Reporting a Vulnerability
|
|
12
17
|
|
|
@@ -45,9 +45,7 @@ module OAuth
|
|
|
45
45
|
def puts_verbose_request(request)
|
|
46
46
|
puts "Method: #{request.method}"
|
|
47
47
|
puts "URI: #{request.uri}"
|
|
48
|
-
unless options[:xmpp]
|
|
49
|
-
puts "Normalized params: #{request.normalized_parameters}"
|
|
50
|
-
end
|
|
48
|
+
puts "Normalized params: #{request.normalized_parameters}" unless options[:xmpp]
|
|
51
49
|
puts "Signature base string: #{request.signature_base_string}"
|
|
52
50
|
|
|
53
51
|
if xmpp?
|
data/lib/oauth/client/em_http.rb
CHANGED
|
@@ -84,9 +84,7 @@ module EventMachine
|
|
|
84
84
|
else
|
|
85
85
|
query.to_s
|
|
86
86
|
end
|
|
87
|
-
unless uri_query.to_s.empty?
|
|
88
|
-
combined_query = [combined_query, uri_query].reject(&:empty?).join("&")
|
|
89
|
-
end
|
|
87
|
+
combined_query = [combined_query, uri_query].reject(&:empty?).join("&") unless uri_query.to_s.empty?
|
|
90
88
|
combined_query.to_s.empty? ? path : "#{path}?#{combined_query}"
|
|
91
89
|
end
|
|
92
90
|
|
data/lib/oauth/consumer.rb
CHANGED
|
@@ -30,49 +30,47 @@ module OAuth
|
|
|
30
30
|
end
|
|
31
31
|
CA_FILE = nil unless defined?(CA_FILE)
|
|
32
32
|
|
|
33
|
-
@@default_options =
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
)
|
|
33
|
+
@@default_options = {
|
|
34
|
+
# Signature method used by server. Defaults to HMAC-SHA1
|
|
35
|
+
signature_method: "HMAC-SHA1",
|
|
36
|
+
|
|
37
|
+
# default paths on site. These are the same as the defaults set up by the generators
|
|
38
|
+
request_token_path: "/oauth/request_token",
|
|
39
|
+
authenticate_path: "/oauth/authenticate",
|
|
40
|
+
authorize_path: "/oauth/authorize",
|
|
41
|
+
access_token_path: "/oauth/access_token",
|
|
42
|
+
|
|
43
|
+
proxy: nil,
|
|
44
|
+
# How do we send the oauth values to the server see
|
|
45
|
+
# https://oauth.net/core/1.0/#consumer_req_param for more info
|
|
46
|
+
#
|
|
47
|
+
# Possible values:
|
|
48
|
+
#
|
|
49
|
+
# :header - via the Authorize header (Default) ( option 1. in spec)
|
|
50
|
+
# :body - url form encoded in body of POST request ( option 2. in spec)
|
|
51
|
+
# :query_string - via the query part of the url ( option 3. in spec)
|
|
52
|
+
scheme: :header,
|
|
53
|
+
|
|
54
|
+
# Default http method used for OAuth Token Requests (defaults to :post)
|
|
55
|
+
http_method: :post,
|
|
56
|
+
|
|
57
|
+
# Add a custom ca_file for consumer
|
|
58
|
+
# :ca_file => '/etc/certs.pem'
|
|
59
|
+
|
|
60
|
+
# Possible values:
|
|
61
|
+
#
|
|
62
|
+
# nil, false - no debug output
|
|
63
|
+
# true - uses $stdout
|
|
64
|
+
# some_value - uses some_value
|
|
65
|
+
debug_output: nil,
|
|
66
|
+
|
|
67
|
+
# Defaults to producing a body_hash as part of the signature but
|
|
68
|
+
# can be disabled since it's not officially part of the OAuth 1.0
|
|
69
|
+
# spec. Possible values are true and false
|
|
70
|
+
body_hash_enabled: true,
|
|
71
|
+
|
|
72
|
+
oauth_version: "1.0"
|
|
73
|
+
}
|
|
76
74
|
|
|
77
75
|
attr_accessor :options, :key, :secret
|
|
78
76
|
attr_writer :site, :http
|
|
@@ -105,8 +103,7 @@ module OAuth
|
|
|
105
103
|
@secret = consumer_secret
|
|
106
104
|
|
|
107
105
|
# ensure that keys are symbols
|
|
108
|
-
|
|
109
|
-
@options = @@default_options.merge(snaky_options)
|
|
106
|
+
@options = @@default_options.merge(options.transform_keys(&:to_sym))
|
|
110
107
|
end
|
|
111
108
|
|
|
112
109
|
# The default http method
|
|
@@ -162,9 +159,7 @@ module OAuth
|
|
|
162
159
|
def get_request_token(request_options = {}, *arguments, &block)
|
|
163
160
|
# if oauth_callback wasn't provided, it is assumed that oauth_verifiers
|
|
164
161
|
# will be exchanged out of band
|
|
165
|
-
unless request_options[:exclude_callback]
|
|
166
|
-
request_options[:oauth_callback] ||= OAuth::OUT_OF_BAND
|
|
167
|
-
end
|
|
162
|
+
request_options[:oauth_callback] ||= OAuth::OUT_OF_BAND unless request_options[:exclude_callback]
|
|
168
163
|
|
|
169
164
|
response = if block
|
|
170
165
|
token_request(
|
|
@@ -389,13 +384,9 @@ module OAuth
|
|
|
389
384
|
end
|
|
390
385
|
|
|
391
386
|
http_object.read_timeout = http_object.open_timeout = @options[:timeout] || 60
|
|
392
|
-
if @options[:open_timeout]
|
|
393
|
-
http_object.open_timeout = @options[:open_timeout]
|
|
394
|
-
end
|
|
387
|
+
http_object.open_timeout = @options[:open_timeout] if @options[:open_timeout]
|
|
395
388
|
http_object.ssl_version = @options[:ssl_version] if @options[:ssl_version]
|
|
396
|
-
if @options[:ssl_client_cert]
|
|
397
|
-
http_object.cert = @options[:ssl_client_cert]
|
|
398
|
-
end
|
|
389
|
+
http_object.cert = @options[:ssl_client_cert] if @options[:ssl_client_cert]
|
|
399
390
|
http_object.key = @options[:ssl_client_key] if @options[:ssl_client_key]
|
|
400
391
|
http_object.set_debug_output(debug_output) if debug_output
|
|
401
392
|
|
|
@@ -412,9 +403,7 @@ module OAuth
|
|
|
412
403
|
# only add if the site host matches the current http object's host
|
|
413
404
|
# (in case we've specified a full url for token requests)
|
|
414
405
|
uri = URI.parse(site)
|
|
415
|
-
if uri.path && uri.path != "/" && uri.host == http.address
|
|
416
|
-
path = uri.path + path
|
|
417
|
-
end
|
|
406
|
+
path = uri.path + path if uri.path && uri.path != "/" && uri.host == http.address
|
|
418
407
|
|
|
419
408
|
headers = arguments.first.is_a?(Hash) ? arguments.shift : {}
|
|
420
409
|
|
|
@@ -1,36 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "active_support"
|
|
4
|
-
require "active_support/version"
|
|
5
4
|
require "action_controller"
|
|
6
5
|
require "uri"
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
# rails 2.x
|
|
10
|
-
require "action_controller/request"
|
|
11
|
-
unless ActionController::Request::HTTP_METHODS.include?("patch")
|
|
12
|
-
ActionController::Request::HTTP_METHODS << "patch"
|
|
13
|
-
ActionController::Request::HTTP_METHOD_LOOKUP["PATCH"] = :patch
|
|
14
|
-
ActionController::Request::HTTP_METHOD_LOOKUP["patch"] = :patch
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
elsif Gem::Version.new(ActiveSupport::VERSION::STRING) < Gem::Version.new("4")
|
|
18
|
-
# rails 3.x
|
|
19
|
-
require "action_dispatch/http/request"
|
|
20
|
-
unless ActionDispatch::Request::HTTP_METHODS.include?("patch")
|
|
21
|
-
ActionDispatch::Request::HTTP_METHODS << "patch"
|
|
22
|
-
ActionDispatch::Request::HTTP_METHOD_LOOKUP["PATCH"] = :patch
|
|
23
|
-
ActionDispatch::Request::HTTP_METHOD_LOOKUP["patch"] = :patch
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
else # rails 4.x and later - already has patch
|
|
27
|
-
require "action_dispatch/http/request"
|
|
28
|
-
end
|
|
7
|
+
require "action_dispatch/http/request"
|
|
29
8
|
|
|
30
9
|
module OAuth
|
|
31
10
|
module RequestProxy
|
|
32
11
|
class ActionControllerRequest < OAuth::RequestProxy::Base
|
|
33
|
-
proxies(
|
|
12
|
+
proxies(::ActionDispatch::Request)
|
|
34
13
|
|
|
35
14
|
def method
|
|
36
15
|
request.method.to_s.upcase
|
|
@@ -50,7 +29,7 @@ module OAuth
|
|
|
50
29
|
end
|
|
51
30
|
end
|
|
52
31
|
|
|
53
|
-
# Override from OAuth::RequestProxy::Base to avoid
|
|
32
|
+
# Override from OAuth::RequestProxy::Base to avoid round-trip
|
|
54
33
|
# conversion to Hash or Array and thus preserve the original
|
|
55
34
|
# parameter names
|
|
56
35
|
def parameters_for_signature
|
|
@@ -69,9 +69,7 @@ module OAuth
|
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
def auth_header_params
|
|
72
|
-
unless request["Authorization"] && request["Authorization"][0, 5] == "OAuth"
|
|
73
|
-
return nil
|
|
74
|
-
end
|
|
72
|
+
return nil unless request["Authorization"] && request["Authorization"][0, 5] == "OAuth"
|
|
75
73
|
|
|
76
74
|
request["Authorization"]
|
|
77
75
|
end
|
data/lib/oauth/signature/base.rb
CHANGED
|
@@ -31,9 +31,7 @@ module OAuth
|
|
|
31
31
|
@consumer_secret = options[:consumer].secret if options[:consumer]
|
|
32
32
|
|
|
33
33
|
# presence of :consumer_secret option will override any Consumer that's provided
|
|
34
|
-
if options[:consumer_secret]
|
|
35
|
-
@consumer_secret = options[:consumer_secret]
|
|
36
|
-
end
|
|
34
|
+
@consumer_secret = options[:consumer_secret] if options[:consumer_secret]
|
|
37
35
|
|
|
38
36
|
## token secret was determined beforehand
|
|
39
37
|
|
data/lib/oauth/version.rb
CHANGED
data/lib/oauth.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: oauth
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Pelle Braendgaard
|
|
@@ -16,22 +16,8 @@ authors:
|
|
|
16
16
|
autorequire:
|
|
17
17
|
bindir: bin
|
|
18
18
|
cert_chain: []
|
|
19
|
-
date: 2022-08-
|
|
19
|
+
date: 2022-08-23 00:00:00.000000000 Z
|
|
20
20
|
dependencies:
|
|
21
|
-
- !ruby/object:Gem::Dependency
|
|
22
|
-
name: snaky_hash
|
|
23
|
-
requirement: !ruby/object:Gem::Requirement
|
|
24
|
-
requirements:
|
|
25
|
-
- - "~>"
|
|
26
|
-
- !ruby/object:Gem::Version
|
|
27
|
-
version: '2.0'
|
|
28
|
-
type: :runtime
|
|
29
|
-
prerelease: false
|
|
30
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
31
|
-
requirements:
|
|
32
|
-
- - "~>"
|
|
33
|
-
- !ruby/object:Gem::Version
|
|
34
|
-
version: '2.0'
|
|
35
21
|
- !ruby/object:Gem::Dependency
|
|
36
22
|
name: version_gem
|
|
37
23
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -164,14 +150,14 @@ dependencies:
|
|
|
164
150
|
requirements:
|
|
165
151
|
- - "~>"
|
|
166
152
|
- !ruby/object:Gem::Version
|
|
167
|
-
version: '
|
|
153
|
+
version: '18.0'
|
|
168
154
|
type: :development
|
|
169
155
|
prerelease: false
|
|
170
156
|
version_requirements: !ruby/object:Gem::Requirement
|
|
171
157
|
requirements:
|
|
172
158
|
- - "~>"
|
|
173
159
|
- !ruby/object:Gem::Version
|
|
174
|
-
version: '
|
|
160
|
+
version: '18.0'
|
|
175
161
|
- !ruby/object:Gem::Dependency
|
|
176
162
|
name: typhoeus
|
|
177
163
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -192,14 +178,14 @@ dependencies:
|
|
|
192
178
|
requirements:
|
|
193
179
|
- - "<="
|
|
194
180
|
- !ruby/object:Gem::Version
|
|
195
|
-
version: 3.
|
|
181
|
+
version: 3.19.0
|
|
196
182
|
type: :development
|
|
197
183
|
prerelease: false
|
|
198
184
|
version_requirements: !ruby/object:Gem::Requirement
|
|
199
185
|
requirements:
|
|
200
186
|
- - "<="
|
|
201
187
|
- !ruby/object:Gem::Version
|
|
202
|
-
version: 3.
|
|
188
|
+
version: 3.19.0
|
|
203
189
|
description:
|
|
204
190
|
email: oauth-ruby@googlegroups.com
|
|
205
191
|
executables:
|
|
@@ -268,23 +254,23 @@ licenses:
|
|
|
268
254
|
- MIT
|
|
269
255
|
metadata:
|
|
270
256
|
homepage_uri: https://github.com/oauth-xx/oauth-ruby
|
|
271
|
-
source_code_uri: https://github.com/oauth-xx/oauth-ruby/tree/
|
|
272
|
-
changelog_uri: https://github.com/oauth-xx/oauth-ruby/blob/
|
|
257
|
+
source_code_uri: https://github.com/oauth-xx/oauth-ruby/tree/v1.0.0
|
|
258
|
+
changelog_uri: https://github.com/oauth-xx/oauth-ruby/blob/v1.0.0/CHANGELOG.md
|
|
273
259
|
bug_tracker_uri: https://github.com/oauth-xx/oauth-ruby/issues
|
|
274
|
-
documentation_uri: https://www.rubydoc.info/gems/oauth/0.
|
|
260
|
+
documentation_uri: https://www.rubydoc.info/gems/oauth/1.0.0
|
|
275
261
|
wiki_uri: https://github.com/oauth-xx/oauth-ruby/wiki
|
|
276
262
|
rubygems_mfa_required: 'true'
|
|
277
263
|
post_install_message: |2
|
|
278
264
|
|
|
279
|
-
You have installed oauth version 0.
|
|
265
|
+
You have installed oauth version 1.0.0, congratulations!
|
|
280
266
|
|
|
281
|
-
Non-commercial support for the 0.
|
|
282
|
-
The only breaking change will be dropped support for Ruby 2.
|
|
267
|
+
Non-commercial support for the 1.0.x series will end in April, 2025. Please make a plan to upgrade to the next version prior to that date.
|
|
268
|
+
The only breaking change will be dropped support for Ruby 2.7.
|
|
283
269
|
|
|
284
270
|
Please see:
|
|
285
|
-
• https://github.com/oauth-xx/oauth
|
|
271
|
+
• https://github.com/oauth-xx/oauth/blob/main/SECURITY.md
|
|
286
272
|
|
|
287
|
-
Note also that I
|
|
273
|
+
Note also that I, and this project, am in the process of leaving Github.
|
|
288
274
|
I wrote about some of the reasons here:
|
|
289
275
|
• https://dev.to/galtzo/im-leaving-github-50ba
|
|
290
276
|
|
|
@@ -307,14 +293,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
307
293
|
requirements:
|
|
308
294
|
- - ">="
|
|
309
295
|
- !ruby/object:Gem::Version
|
|
310
|
-
version: '2.
|
|
296
|
+
version: '2.7'
|
|
311
297
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
312
298
|
requirements:
|
|
313
299
|
- - ">="
|
|
314
300
|
- !ruby/object:Gem::Version
|
|
315
301
|
version: '0'
|
|
316
302
|
requirements: []
|
|
317
|
-
rubygems_version: 3.
|
|
303
|
+
rubygems_version: 3.1.6
|
|
318
304
|
signing_key:
|
|
319
305
|
specification_version: 4
|
|
320
306
|
summary: OAuth Core Ruby implementation
|