oauth 0.6.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 414ee66cdf6d7d20e2caddba76264dc3a5d5d058157abe8cd77907cfe42e2fbe
4
- data.tar.gz: de2152db1bf49cb9397bb95eaf10ebbe67f755f3de478cb36e4350beda3b2b5f
3
+ metadata.gz: 6209290a96231a2cca740d8fbfec7831e97f7b2b848997ebae0ea1a130a48a3d
4
+ data.tar.gz: 34689bed290728cb8e628bce2fd781fbec783b2dca832267093a228ef247e8ee
5
5
  SHA512:
6
- metadata.gz: 2ab63e0e09c842637f45bf7053eae8c834238b36cee7ae8771a70766c51cea0a1b1277c025a46caa9fb5499fd93ff342749dc42e70bb5a3351a169b894602f0d
7
- data.tar.gz: aca6573f60c0926534fa3f6b1e40695c3ddb96ee9153cc9a3bc3bf6948d831918c1f358afde4273eca4a9608b2e20cc75e8b86a2e9cc53ab257d1084a6130e0a
6
+ metadata.gz: a1725bcd2a976993bba7a2b61da4b24dd2b5086dfd01da52724f21dac2e87f7fff9ca595c479716aeec8a490c3ad16bc4a308a93edfb6c9cc957afbd4f0805cd
7
+ data.tar.gz: 516b1f0823a5f8a294e5b27fa0eda305af35c77bfaf448dd17144f1d67f9d6f6ea2807b77827c62e3a583ad92f7b8a586e3812e518b06687ac05cc5e6649dc17
data/CHANGELOG.md CHANGED
@@ -13,6 +13,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
13
13
 
14
14
  ### Removed
15
15
 
16
+ ## [1.0.1] 2022-08-29
17
+ ### Changed
18
+ * `OAuth::Comsumer#options` hash is now handled by `snaky_hash`, which was extracted from `oauth2`
19
+ * symbolized keys, dot-access and snake-case are now normalized
20
+
21
+ ## [1.0.0] 2022-08-23
22
+ ### Changed
23
+ * Dropped support for Ruby < 2.7
24
+ * Dropped support for Rails < 6
25
+
26
+ ### Added
27
+ * New EOL Policy
28
+ * Non-commercial support for the oldest version of Ruby (which itself is going EOL) will be dropped each year in April
29
+
30
+ ## [0.6.2] 2022-08-29
31
+ ### Changed
32
+ * `OAuth::Comsumer#options` hash is now handled by `snaky_hash`, which was extracted from `oauth2`
33
+ * symbolized keys, dot-access and snake-case are now normalized
34
+
16
35
  ## [0.6.1] 2022-08-23
17
36
  ### Changed
18
37
  * Fixed documentation in SECURITY.md
@@ -35,6 +54,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
35
54
  ### Removed
36
55
  * Ruby 2.0, 2.1, 2.2, and 2.3 are no longer valid install targets
37
56
 
57
+ ## [0.5.14] 2022-08-29
58
+ The "hopeful last 0.5.x" Release
59
+
60
+ ### Fixed
61
+ * More typos fixed
62
+
38
63
  ## [0.5.13] 2022-08-23
39
64
  The "I think I caught 'em all!" Release
40
65
 
@@ -431,9 +456,13 @@ but please have a look at the unit tests.
431
456
  * Moved all non-Rails functionality from the Rails plugin:
432
457
  http://code.google.com/p/oauth-plugin/
433
458
 
434
- [Unreleased]: https://github.com/oauth-xx/oauth-ruby/compare/v0.6.1...v0.6-maintenance
459
+ [Unreleased]: https://github.com/oauth-xx/oauth-ruby/compare/v1.0.1...main
460
+ [1.0.1]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v1.0.1
461
+ [1.0.0]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v1.0.0
462
+ [0.6.2]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.6.2
435
463
  [0.6.1]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.6.1
436
464
  [0.6.0]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.6.0
465
+ [0.5.14]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.5.14
437
466
  [0.5.13]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.5.13
438
467
  [0.5.12]: https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.5.12
439
468
  [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, 2020-2021 Blaine Cook, Larry Halff, Pelle Braendgaard, Peter Boling
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
- **NOTE**
23
+ **New EOL Policy**
24
24
 
25
- This README, on branch `v0.6-maintenance`, targets 0.6.x series releases.
26
- The v0.6.x series of releases will be EOL no later than April, 2024.
27
- For later releases please see the `main` branch README.
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] [![FOSSA][🏘fossa-img]][🏘fossa] [![RubyDoc.info][🚎yard-img]][🚎yard] [![InchCI][🖐inch-ci-img]][🚎yard] |
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] [![Unofficial Support][🖐uns-wf-img]][🖐uns-wf] [![MacOS][🧮mac-wf-img]][🧮mac-wf] [![Windows][📗win-wf-img]][📗win-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.4+ in the gemspec, and this will change with minor version bumps,
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.6.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.6.x | :white_check_mark: |
8
- | 0.5.x | :white_check_mark: |
9
- | <= 0.5 | :x: |
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?
@@ -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
 
@@ -30,47 +30,49 @@ module OAuth
30
30
  end
31
31
  CA_FILE = nil unless defined?(CA_FILE)
32
32
 
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
- }
33
+ @@default_options = SnakyHash::SymbolKeyed.new(
34
+ {
35
+ # Signature method used by server. Defaults to HMAC-SHA1
36
+ signature_method: "HMAC-SHA1",
37
+
38
+ # default paths on site. These are the same as the defaults set up by the generators
39
+ request_token_path: "/oauth/request_token",
40
+ authenticate_path: "/oauth/authenticate",
41
+ authorize_path: "/oauth/authorize",
42
+ access_token_path: "/oauth/access_token",
43
+
44
+ proxy: nil,
45
+ # How do we send the oauth values to the server see
46
+ # https://oauth.net/core/1.0/#consumer_req_param for more info
47
+ #
48
+ # Possible values:
49
+ #
50
+ # :header - via the Authorize header (Default) ( option 1. in spec)
51
+ # :body - url form encoded in body of POST request ( option 2. in spec)
52
+ # :query_string - via the query part of the url ( option 3. in spec)
53
+ scheme: :header,
54
+
55
+ # Default http method used for OAuth Token Requests (defaults to :post)
56
+ http_method: :post,
57
+
58
+ # Add a custom ca_file for consumer
59
+ # :ca_file => '/etc/certs.pem'
60
+
61
+ # Possible values:
62
+ #
63
+ # nil, false - no debug output
64
+ # true - uses $stdout
65
+ # some_value - uses some_value
66
+ debug_output: nil,
67
+
68
+ # Defaults to producing a body_hash as part of the signature but
69
+ # can be disabled since it's not officially part of the OAuth 1.0
70
+ # spec. Possible values are true and false
71
+ body_hash_enabled: true,
72
+
73
+ oauth_version: "1.0"
74
+ }
75
+ )
74
76
 
75
77
  attr_accessor :options, :key, :secret
76
78
  attr_writer :site, :http
@@ -103,7 +105,8 @@ module OAuth
103
105
  @secret = consumer_secret
104
106
 
105
107
  # ensure that keys are symbols
106
- @options = @@default_options.merge(options.transform_keys(&:to_sym))
108
+ snaky_options = SnakyHash::SymbolKeyed.new(options)
109
+ @options = @@default_options.merge(snaky_options)
107
110
  end
108
111
 
109
112
  # The default http method
@@ -159,9 +162,7 @@ module OAuth
159
162
  def get_request_token(request_options = {}, *arguments, &block)
160
163
  # if oauth_callback wasn't provided, it is assumed that oauth_verifiers
161
164
  # will be exchanged out of band
162
- unless request_options[:exclude_callback]
163
- request_options[:oauth_callback] ||= OAuth::OUT_OF_BAND
164
- end
165
+ request_options[:oauth_callback] ||= OAuth::OUT_OF_BAND unless request_options[:exclude_callback]
165
166
 
166
167
  response = if block
167
168
  token_request(
@@ -386,13 +387,9 @@ module OAuth
386
387
  end
387
388
 
388
389
  http_object.read_timeout = http_object.open_timeout = @options[:timeout] || 60
389
- if @options[:open_timeout]
390
- http_object.open_timeout = @options[:open_timeout]
391
- end
390
+ http_object.open_timeout = @options[:open_timeout] if @options[:open_timeout]
392
391
  http_object.ssl_version = @options[:ssl_version] if @options[:ssl_version]
393
- if @options[:ssl_client_cert]
394
- http_object.cert = @options[:ssl_client_cert]
395
- end
392
+ http_object.cert = @options[:ssl_client_cert] if @options[:ssl_client_cert]
396
393
  http_object.key = @options[:ssl_client_key] if @options[:ssl_client_key]
397
394
  http_object.set_debug_output(debug_output) if debug_output
398
395
 
@@ -409,9 +406,7 @@ module OAuth
409
406
  # only add if the site host matches the current http object's host
410
407
  # (in case we've specified a full url for token requests)
411
408
  uri = URI.parse(site)
412
- if uri.path && uri.path != "/" && uri.host == http.address
413
- path = uri.path + path
414
- end
409
+ path = uri.path + path if uri.path && uri.path != "/" && uri.host == http.address
415
410
 
416
411
  headers = arguments.first.is_a?(Hash) ? arguments.shift : {}
417
412
 
@@ -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
- if Gem::Version.new(ActiveSupport::VERSION::STRING) < Gem::Version.new("3")
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(defined?(::ActionDispatch::AbstractRequest) ? ::ActionDispatch::AbstractRequest : ::ActionDispatch::Request)
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 roundtrip
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
@@ -79,7 +79,7 @@ module OAuth
79
79
  end
80
80
 
81
81
  def parameters_for_signature
82
- parameters.select { |k, _v| !signature_and_unsigned_parameters.include?(k) }
82
+ parameters.reject { |k, _v| signature_and_unsigned_parameters.include?(k) }
83
83
  end
84
84
 
85
85
  def oauth_parameters
@@ -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
@@ -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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OAuth
4
4
  module Version
5
- VERSION = "0.6.1"
5
+ VERSION = "1.0.1"
6
6
  end
7
7
  end
data/lib/oauth.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # third party gems
4
+ require "snaky_hash"
4
5
  require "version_gem"
5
6
 
6
7
  require "oauth/version"
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.6.1
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pelle Braendgaard
@@ -16,8 +16,22 @@ authors:
16
16
  autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
- date: 2022-08-23 00:00:00.000000000 Z
19
+ date: 2022-08-29 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'
21
35
  - !ruby/object:Gem::Dependency
22
36
  name: version_gem
23
37
  requirement: !ruby/object:Gem::Requirement
@@ -150,14 +164,14 @@ dependencies:
150
164
  requirements:
151
165
  - - "~>"
152
166
  - !ruby/object:Gem::Version
153
- version: '12.0'
167
+ version: '18.0'
154
168
  type: :development
155
169
  prerelease: false
156
170
  version_requirements: !ruby/object:Gem::Requirement
157
171
  requirements:
158
172
  - - "~>"
159
173
  - !ruby/object:Gem::Version
160
- version: '12.0'
174
+ version: '18.0'
161
175
  - !ruby/object:Gem::Dependency
162
176
  name: typhoeus
163
177
  requirement: !ruby/object:Gem::Requirement
@@ -178,14 +192,14 @@ dependencies:
178
192
  requirements:
179
193
  - - "<="
180
194
  - !ruby/object:Gem::Version
181
- version: 3.14.0
195
+ version: 3.19.0
182
196
  type: :development
183
197
  prerelease: false
184
198
  version_requirements: !ruby/object:Gem::Requirement
185
199
  requirements:
186
200
  - - "<="
187
201
  - !ruby/object:Gem::Version
188
- version: 3.14.0
202
+ version: 3.19.0
189
203
  description:
190
204
  email: oauth-ruby@googlegroups.com
191
205
  executables:
@@ -254,23 +268,23 @@ licenses:
254
268
  - MIT
255
269
  metadata:
256
270
  homepage_uri: https://github.com/oauth-xx/oauth-ruby
257
- source_code_uri: https://github.com/oauth-xx/oauth-ruby/tree/v0.6.1
258
- changelog_uri: https://github.com/oauth-xx/oauth-ruby/blob/v0.6.1/CHANGELOG.md
271
+ source_code_uri: https://github.com/oauth-xx/oauth-ruby/tree/v1.0.1
272
+ changelog_uri: https://github.com/oauth-xx/oauth-ruby/blob/v1.0.1/CHANGELOG.md
259
273
  bug_tracker_uri: https://github.com/oauth-xx/oauth-ruby/issues
260
- documentation_uri: https://www.rubydoc.info/gems/oauth/0.6.1
274
+ documentation_uri: https://www.rubydoc.info/gems/oauth/1.0.1
261
275
  wiki_uri: https://github.com/oauth-xx/oauth-ruby/wiki
262
276
  rubygems_mfa_required: 'true'
263
277
  post_install_message: |2
264
278
 
265
- You have installed oauth version 0.6.1, congratulations!
279
+ You have installed oauth version 1.0.1, congratulations!
266
280
 
267
- Non-commercial support for the 0.6.x series will end in April, 2024. Please upgrade to 1.0.x as soon as possible!
268
- The only breaking change will be dropped support for Ruby 2.4, 2.5, and 2.6.
281
+ Non-commercial support for the 1.x series will end by April, 2025. Please make a plan to upgrade to the next version prior to that date.
282
+ The only breaking change will be dropped support for Ruby 2.7 and any other versions which will also have reached EOL by then.
269
283
 
270
284
  Please see:
271
- • https://github.com/oauth-xx/oauth/blob/main/SECURITY.md
285
+ • https://github.com/oauth-xx/oauth-ruby/blob/main/SECURITY.md
272
286
 
273
- Note also that I, and this project, am in the process of leaving Github.
287
+ Note also that I am, and this project is, in the process of leaving Github.
274
288
  I wrote about some of the reasons here:
275
289
  • https://dev.to/galtzo/im-leaving-github-50ba
276
290
 
@@ -293,14 +307,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
293
307
  requirements:
294
308
  - - ">="
295
309
  - !ruby/object:Gem::Version
296
- version: '2.4'
310
+ version: '2.7'
297
311
  required_rubygems_version: !ruby/object:Gem::Requirement
298
312
  requirements:
299
313
  - - ">="
300
314
  - !ruby/object:Gem::Version
301
315
  version: '0'
302
316
  requirements: []
303
- rubygems_version: 3.3.20
317
+ rubygems_version: 3.3.21
304
318
  signing_key:
305
319
  specification_version: 4
306
320
  summary: OAuth Core Ruby implementation