oauth2 2.0.2 → 2.0.3
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 +12 -2
- data/CONTRIBUTING.md +27 -1
- data/README.md +39 -6
- data/SECURITY.md +5 -5
- data/lib/oauth2/access_token.rb +1 -1
- data/lib/oauth2/client.rb +25 -14
- data/lib/oauth2/response.rb +14 -5
- data/lib/oauth2/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 834cadcf40991f2fd88a74f9ee614992d17c087d5862a4f7243cb83874f87683
|
|
4
|
+
data.tar.gz: 9a54a67d2def4e8232ff7b764ce70d87c4d9fb7125b72e234d07b84b507565b2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 190394d6e1d046de982b9ed978c54b810a15cbfbe41507c63f103a19be06b04d4a7f2a8cad4f3fc30c9cf4eed6314e353668b7e49d8e41826e1c460f944060ed
|
|
7
|
+
data.tar.gz: 10bd8f3f468165150ce7d79c31d0a4c7be72322660ae7579bf579bf68054106f21d16b408c56eedcc3a2359f14c84c770fa89dec93d0811c2ed328aa7b365f00
|
data/CHANGELOG.md
CHANGED
|
@@ -4,8 +4,16 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
The format (since v2) is based on [Keep a Changelog v1](https://keepachangelog.com/en/1.0.0/),
|
|
5
5
|
and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
## [2.0.
|
|
7
|
+
## [2.0.3] - 2022-06-28
|
|
8
8
|
### Added
|
|
9
|
+
- [#611](https://github.com/oauth-xx/oauth2/pull/611) - Proper deprecation warnings for `extract_access_token` argument (@pboling)
|
|
10
|
+
- [#612](https://github.com/oauth-xx/oauth2/pull/612) - Add `snaky: false` option to skip conversion to `OAuth2::SnakyHash` (default: true) (@pboling)
|
|
11
|
+
### Fixed
|
|
12
|
+
- [#608](https://github.com/oauth-xx/oauth2/pull/608) - Wrap `Faraday::TimeoutError` in `OAuth2::TimeoutError` (@nbibler)
|
|
13
|
+
- [#615](https://github.com/oauth-xx/oauth2/pull/615) - Fix support for requests with blocks, see `Faraday::Connection#run_request` (@pboling)
|
|
14
|
+
|
|
15
|
+
## [2.0.2] - 2022-06-24
|
|
16
|
+
### Fixed
|
|
9
17
|
- [#604](https://github.com/oauth-xx/oauth2/pull/604) - Wrap `Faraday::TimeoutError` in `OAuth2::TimeoutError` (@stanhu)
|
|
10
18
|
- [#606](https://github.com/oauth-xx/oauth2/pull/606) - Ruby 2.7 deprecation warning fix: Move `access_token_class` parameter into `Client` constructor (@stanhu)
|
|
11
19
|
- [#607](https://github.com/oauth-xx/oauth2/pull/607) - CHANGELOG correction, reference to `OAuth2::ConnectionError` (@zavan)
|
|
@@ -221,7 +229,7 @@ and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.
|
|
|
221
229
|
|
|
222
230
|
## [0.0.4] + [0.0.3] + [0.0.2] + [0.0.1] - 2010-04-22
|
|
223
231
|
|
|
224
|
-
[Unreleased]: https://github.com/oauth-xx/oauth2/compare/v2.0.
|
|
232
|
+
[Unreleased]: https://github.com/oauth-xx/oauth2/compare/v2.0.3...HEAD
|
|
225
233
|
[0.0.1]: https://github.com/oauth-xx/oauth2/compare/311d9f4...v0.0.1
|
|
226
234
|
[0.0.2]: https://github.com/oauth-xx/oauth2/compare/v0.0.1...v0.0.2
|
|
227
235
|
[0.0.3]: https://github.com/oauth-xx/oauth2/compare/v0.0.2...v0.0.3
|
|
@@ -259,4 +267,6 @@ and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.
|
|
|
259
267
|
[1.4.9]: https://github.com/oauth-xx/oauth2/compare/v1.4.8...v1.4.9
|
|
260
268
|
[2.0.0]: https://github.com/oauth-xx/oauth2/compare/v1.4.9...v2.0.0
|
|
261
269
|
[2.0.1]: https://github.com/oauth-xx/oauth2/compare/v2.0.0...v2.0.1
|
|
270
|
+
[2.0.2]: https://github.com/oauth-xx/oauth2/compare/v2.0.1...v2.0.2
|
|
271
|
+
[2.0.3]: https://github.com/oauth-xx/oauth2/compare/v2.0.2...v2.0.3
|
|
262
272
|
[gemfiles/readme]: gemfiles/README.md
|
data/CONTRIBUTING.md
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Contributing
|
|
2
|
+
|
|
3
|
+
Bug reports and pull requests are welcome on GitHub at [https://github.com/oauth-xx/oauth2][source]
|
|
4
|
+
. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to
|
|
5
|
+
the [code of conduct][conduct].
|
|
6
|
+
|
|
7
|
+
To submit a patch, please fork the project and create a patch with tests. Once you're happy with it send a pull request!
|
|
8
|
+
|
|
9
|
+
## Detailed instructions on Submitting a Pull Request
|
|
2
10
|
1. [Fork the repository.][fork]
|
|
3
11
|
2. [Create a topic branch.][branch]
|
|
4
12
|
3. Add specs for your unimplemented feature or bug fix.
|
|
@@ -16,3 +24,21 @@
|
|
|
16
24
|
[fork]: http://help.github.com/fork-a-repo/
|
|
17
25
|
[branch]: http://learn.github.com/p/branching.html
|
|
18
26
|
[pr]: http://help.github.com/send-pull-requests/
|
|
27
|
+
|
|
28
|
+
## Contributors
|
|
29
|
+
|
|
30
|
+
[][contributors]
|
|
31
|
+
|
|
32
|
+
Made with [contributors-img][contrib-rocks].
|
|
33
|
+
|
|
34
|
+
[comment]: <> (Following links are used by README, CONTRIBUTING)
|
|
35
|
+
|
|
36
|
+
[conduct]: https://github.com/oauth-xx/oauth2/blob/master/CODE_OF_CONDUCT.md
|
|
37
|
+
|
|
38
|
+
[contrib-rocks]: https://contrib.rocks
|
|
39
|
+
|
|
40
|
+
[contributors]: https://github.com/oauth-xx/oauth2/graphs/contributors
|
|
41
|
+
|
|
42
|
+
[comment]: <> (Following links are used by README, CONTRIBUTING, Homepage)
|
|
43
|
+
|
|
44
|
+
[source]: https://github.com/oauth-xx/oauth2/
|
data/README.md
CHANGED
|
@@ -32,6 +32,7 @@ See the sibling `oauth` gem for OAuth 1.0 implementations in Ruby.
|
|
|
32
32
|
|
|
33
33
|
| Version | Release Date | Readme |
|
|
34
34
|
|---------|--------------|----------------------------------------------------------|
|
|
35
|
+
| 2.0.3 | 2022-06-28 | https://github.com/oauth-xx/oauth2/blob/v2.0.3/README.md |
|
|
35
36
|
| 2.0.2 | 2022-06-24 | https://github.com/oauth-xx/oauth2/blob/v2.0.2/README.md |
|
|
36
37
|
| 2.0.1 | 2022-06-22 | https://github.com/oauth-xx/oauth2/blob/v2.0.1/README.md |
|
|
37
38
|
| 2.0.0 | 2022-06-21 | https://github.com/oauth-xx/oauth2/blob/v2.0.0/README.md |
|
|
@@ -113,7 +114,7 @@ appended indicators:
|
|
|
113
114
|
| 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] |
|
|
114
115
|
| 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] |
|
|
115
116
|
| 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] |
|
|
116
|
-
| 7️⃣ | spread 💖 | [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay] [![Sponsor Me][🖇sponsor-img]][🖇sponsor] [![Tweet @ Peter][🏘tweet-img]][🏘tweet] [🌏][aboutme] [👼][angelme] [💻][coderme]
|
|
117
|
+
| 7️⃣ | spread 💖 | [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay] [![Sponsor Me][🖇sponsor-img]][🖇sponsor] [![Tweet @ Peter][🏘tweet-img]][🏘tweet] [🌏][aboutme] [👼][angelme] [💻][coderme] |
|
|
117
118
|
|
|
118
119
|
<!--
|
|
119
120
|
The link tokens in the following sections should be kept ordered by the row and badge numbering scheme
|
|
@@ -140,8 +141,8 @@ The link tokens in the following sections should be kept ordered by the row and
|
|
|
140
141
|
[🖐prs-o-img]: https://img.shields.io/github/issues-pr/oauth-xx/oauth2
|
|
141
142
|
[🧮prs-c]: https://github.com/oauth-xx/oauth2/pulls?q=is%3Apr+is%3Aclosed
|
|
142
143
|
[🧮prs-c-img]: https://img.shields.io/github/issues-pr-closed/oauth-xx/oauth2
|
|
143
|
-
[📗next♻️]: https://github.com/oauth-xx/oauth2/milestone/
|
|
144
|
-
[📗next-img♻️]: https://img.shields.io/github/milestones/progress/oauth-xx/oauth2/
|
|
144
|
+
[📗next♻️]: https://github.com/oauth-xx/oauth2/milestone/15
|
|
145
|
+
[📗next-img♻️]: https://img.shields.io/github/milestones/progress/oauth-xx/oauth2/15?label=Next%20Version
|
|
145
146
|
|
|
146
147
|
<!-- 3️⃣ maintanence & linting -->
|
|
147
148
|
[⛳cclim-maint]: https://codeclimate.com/github/oauth-xx/oauth2/maintainability
|
|
@@ -213,7 +214,6 @@ The link tokens in the following sections should be kept ordered by the row and
|
|
|
213
214
|
[aboutme]: https://about.me/peter.boling
|
|
214
215
|
[angelme]: https://angel.co/peter-boling
|
|
215
216
|
[coderme]:http://coderwall.com/pboling
|
|
216
|
-
[politicme]: https://nationalprogressiveparty.org
|
|
217
217
|
|
|
218
218
|
## Installation
|
|
219
219
|
|
|
@@ -342,6 +342,31 @@ client.class.name
|
|
|
342
342
|
# => OAuth2::Client
|
|
343
343
|
```
|
|
344
344
|
|
|
345
|
+
### snake_case and indifferent access in Response#parsed
|
|
346
|
+
|
|
347
|
+
```ruby
|
|
348
|
+
response = access.get('/api/resource', params: {'query_foo' => 'bar'})
|
|
349
|
+
# Even if the actual response is CamelCase. it will be made available as snaky:
|
|
350
|
+
JSON.parse(response.body) # => {"accessToken"=>"aaaaaaaa", "additionalData"=>"additional"}
|
|
351
|
+
response.parsed # => {"access_token"=>"aaaaaaaa", "additional_data"=>"additional"}
|
|
352
|
+
response.parsed.access_token # => "aaaaaaaa"
|
|
353
|
+
response.parsed[:access_token] # => "aaaaaaaa"
|
|
354
|
+
response.parsed.additional_data # => "additional"
|
|
355
|
+
response.parsed[:additional_data] # => "additional"
|
|
356
|
+
response.parsed.class.name # => OAuth2::SnakyHash (subclass of Hashie::Mash::Rash, from `rash_alt` gem)
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
#### What if I hate snakes and/or indifference?
|
|
360
|
+
|
|
361
|
+
```ruby
|
|
362
|
+
response = access.get('/api/resource', params: {'query_foo' => 'bar'}, snaky: false)
|
|
363
|
+
JSON.parse(response.body) # => {"accessToken"=>"aaaaaaaa", "additionalData"=>"additional"}
|
|
364
|
+
response.parsed # => {"accessToken"=>"aaaaaaaa", "additionalData"=>"additional"}
|
|
365
|
+
response.parsed['accessToken'] # => "aaaaaaaa"
|
|
366
|
+
response.parsed['additionalData'] # => "additional"
|
|
367
|
+
response.parsed.class.name # => Hash (just, regular old Hash)
|
|
368
|
+
```
|
|
369
|
+
|
|
345
370
|
<details>
|
|
346
371
|
<summary>Debugging</summary>
|
|
347
372
|
|
|
@@ -372,7 +397,7 @@ The `AccessToken` methods `#get`, `#post`, `#put` and `#delete` and the generic
|
|
|
372
397
|
will return an instance of the #OAuth2::Response class.
|
|
373
398
|
|
|
374
399
|
This instance contains a `#parsed` method that will parse the response body and
|
|
375
|
-
return a Hash if the `Content-Type` is `application/x-www-form-urlencoded` or if
|
|
400
|
+
return a Hash-like [`OAuth2::SnakyHash`](https://github.com/oauth-xx/oauth2/blob/master/lib/oauth2/snaky_hash.rb) if the `Content-Type` is `application/x-www-form-urlencoded` or if
|
|
376
401
|
the body is a JSON object. It will return an Array if the body is a JSON
|
|
377
402
|
array. Otherwise, it will return the original body string.
|
|
378
403
|
|
|
@@ -486,7 +511,15 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
|
486
511
|
|
|
487
512
|
## Contributing
|
|
488
513
|
|
|
489
|
-
|
|
514
|
+
See [CONTRIBUTING.md][contributing]
|
|
515
|
+
|
|
516
|
+
[contributing]: https://github.com/oauth-xx/oauth2/blob/main/CONTRIBUTING.md
|
|
517
|
+
|
|
518
|
+
## Contributors
|
|
519
|
+
|
|
520
|
+
[]("https://github.com/oauth-xx/oauth2/graphs/contributors")
|
|
521
|
+
|
|
522
|
+
Made with [contributors-img](https://contrib.rocks).
|
|
490
523
|
|
|
491
524
|
## Code of Conduct
|
|
492
525
|
|
data/SECURITY.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## Supported Versions
|
|
4
4
|
|
|
5
|
-
| Version
|
|
6
|
-
|
|
7
|
-
| 2.
|
|
8
|
-
| 1.
|
|
9
|
-
| older
|
|
5
|
+
| Version | Supported |
|
|
6
|
+
|----------|---------------------------|
|
|
7
|
+
| 2.latest | ✅ |
|
|
8
|
+
| 1.latest | ✅ (security updates only) |
|
|
9
|
+
| older | ⛔️ |
|
|
10
10
|
|
|
11
11
|
## Reporting a Vulnerability
|
|
12
12
|
|
data/lib/oauth2/access_token.rb
CHANGED
|
@@ -114,7 +114,7 @@ module OAuth2
|
|
|
114
114
|
# @param [Symbol] verb the HTTP request method
|
|
115
115
|
# @param [String] path the HTTP URL path of the request
|
|
116
116
|
# @param [Hash] opts the options to make the request with
|
|
117
|
-
#
|
|
117
|
+
# @see Client#request
|
|
118
118
|
def request(verb, path, opts = {}, &block)
|
|
119
119
|
configure_authentication!(opts)
|
|
120
120
|
@client.request(verb, path, opts, &block)
|
data/lib/oauth2/client.rb
CHANGED
|
@@ -41,7 +41,7 @@ module OAuth2
|
|
|
41
41
|
@secret = client_secret
|
|
42
42
|
@site = opts.delete(:site)
|
|
43
43
|
ssl = opts.delete(:ssl)
|
|
44
|
-
|
|
44
|
+
warn('OAuth2::Client#initialize argument `extract_access_token` will be removed in oauth2 v3. Refactor to use `access_token_class`.') if opts[:extract_access_token]
|
|
45
45
|
@options = {
|
|
46
46
|
authorize_url: 'oauth/authorize',
|
|
47
47
|
token_url: 'oauth/token',
|
|
@@ -108,9 +108,10 @@ module OAuth2
|
|
|
108
108
|
# @option opts [Boolean] :raise_errors whether or not to raise an OAuth2::Error on 400+ status
|
|
109
109
|
# code response for this request. Will default to client option
|
|
110
110
|
# @option opts [Symbol] :parse @see Response::initialize
|
|
111
|
-
# @
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
# @option opts [Symbol] :snaky @see Response::initialize
|
|
112
|
+
# @yield [req] @see Faraday::Connection#run_request
|
|
113
|
+
def request(verb, url, opts = {}, &block)
|
|
114
|
+
response = execute_request(verb, url, opts, &block)
|
|
114
115
|
|
|
115
116
|
case response.status
|
|
116
117
|
when 301, 302, 303, 307
|
|
@@ -146,11 +147,16 @@ module OAuth2
|
|
|
146
147
|
|
|
147
148
|
# Initializes an AccessToken by making a request to the token endpoint
|
|
148
149
|
#
|
|
149
|
-
# @param params [Hash] a Hash of params for the token endpoint
|
|
150
|
+
# @param params [Hash] a Hash of params for the token endpoint, except:
|
|
151
|
+
# @option params [Symbol] :parse @see Response#initialize
|
|
152
|
+
# @option params [true, false] :snaky @see Response#initialize
|
|
150
153
|
# @param access_token_opts [Hash] access token options, to pass to the AccessToken object
|
|
151
154
|
# @param extract_access_token [Proc] proc that extracts the access token from the response (DEPRECATED)
|
|
155
|
+
# @yield [req] @see Faraday::Connection#run_request
|
|
152
156
|
# @return [AccessToken] the initialized AccessToken
|
|
153
|
-
def get_token(params, access_token_opts = {}, extract_access_token =
|
|
157
|
+
def get_token(params, access_token_opts = {}, extract_access_token = nil, &block)
|
|
158
|
+
warn('OAuth2::Client#get_token argument `extract_access_token` will be removed in oauth2 v3. Refactor to use `access_token_class` on #initialize.') if extract_access_token
|
|
159
|
+
extract_access_token ||= options[:extract_access_token]
|
|
154
160
|
params = params.map do |key, value|
|
|
155
161
|
if RESERVED_PARAM_KEYS.include?(key)
|
|
156
162
|
[key.to_sym, value]
|
|
@@ -159,20 +165,25 @@ module OAuth2
|
|
|
159
165
|
end
|
|
160
166
|
end.to_h
|
|
161
167
|
|
|
168
|
+
request_opts = {
|
|
169
|
+
raise_errors: options[:raise_errors],
|
|
170
|
+
parse: params.delete(:parse),
|
|
171
|
+
snaky: params.delete(:snaky),
|
|
172
|
+
}
|
|
173
|
+
|
|
162
174
|
params = authenticator.apply(params)
|
|
163
|
-
opts = {raise_errors: options[:raise_errors], parse: params.delete(:parse)}
|
|
164
175
|
headers = params.delete(:headers) || {}
|
|
165
176
|
if options[:token_method] == :post
|
|
166
|
-
|
|
167
|
-
|
|
177
|
+
request_opts[:body] = params
|
|
178
|
+
request_opts[:headers] = {'Content-Type' => 'application/x-www-form-urlencoded'}
|
|
168
179
|
else
|
|
169
|
-
|
|
170
|
-
|
|
180
|
+
request_opts[:params] = params
|
|
181
|
+
request_opts[:headers] = {}
|
|
171
182
|
end
|
|
172
|
-
|
|
183
|
+
request_opts[:headers].merge!(headers)
|
|
173
184
|
http_method = options[:token_method]
|
|
174
185
|
http_method = :post if http_method == :post_with_query_string
|
|
175
|
-
response = request(http_method, token_url,
|
|
186
|
+
response = request(http_method, token_url, request_opts, &block)
|
|
176
187
|
|
|
177
188
|
# In v1.4.x, the deprecated extract_access_token option retrieves the token from the response.
|
|
178
189
|
# We preserve this behavior here, but a custom access_token_class that implements #from_hash
|
|
@@ -256,7 +267,7 @@ module OAuth2
|
|
|
256
267
|
raise TimeoutError, e
|
|
257
268
|
end
|
|
258
269
|
|
|
259
|
-
Response.new(response, parse: opts[:parse])
|
|
270
|
+
Response.new(response, parse: opts[:parse], snaky: opts[:snaky])
|
|
260
271
|
end
|
|
261
272
|
|
|
262
273
|
# Returns the authenticator object
|
data/lib/oauth2/response.rb
CHANGED
|
@@ -39,12 +39,17 @@ module OAuth2
|
|
|
39
39
|
# Initializes a Response instance
|
|
40
40
|
#
|
|
41
41
|
# @param [Faraday::Response] response The Faraday response instance
|
|
42
|
-
# @param [
|
|
43
|
-
# @option opts [Symbol] :parse (:automatic) how to parse the response body. one of :query (for x-www-form-urlencoded),
|
|
42
|
+
# @param [Symbol] parse (:automatic) how to parse the response body. one of :query (for x-www-form-urlencoded),
|
|
44
43
|
# :json, or :automatic (determined by Content-Type response header)
|
|
45
|
-
|
|
44
|
+
# @param [true, false] snaky (true) Convert @parsed to a snake-case,
|
|
45
|
+
# indifferent-access OAuth2::SnakyHash, which is a subclass of Hashie::Mash::Rash (from rash_alt gem)?
|
|
46
|
+
# @param [Hash] options all other options for initializing the instance
|
|
47
|
+
def initialize(response, parse: :automatic, snaky: true, **options)
|
|
46
48
|
@response = response
|
|
47
|
-
@options = {
|
|
49
|
+
@options = {
|
|
50
|
+
parse: parse,
|
|
51
|
+
snaky: snaky,
|
|
52
|
+
}.merge(options)
|
|
48
53
|
end
|
|
49
54
|
|
|
50
55
|
# The HTTP response headers
|
|
@@ -81,7 +86,7 @@ module OAuth2
|
|
|
81
86
|
end
|
|
82
87
|
end
|
|
83
88
|
|
|
84
|
-
@parsed = OAuth2::SnakyHash.new(@parsed) if @parsed.is_a?(Hash)
|
|
89
|
+
@parsed = OAuth2::SnakyHash.new(@parsed) if options[:snaky] && @parsed.is_a?(Hash)
|
|
85
90
|
|
|
86
91
|
@parsed
|
|
87
92
|
end
|
|
@@ -125,10 +130,14 @@ module OAuth2
|
|
|
125
130
|
end
|
|
126
131
|
|
|
127
132
|
OAuth2::Response.register_parser(:xml, ['text/xml', 'application/rss+xml', 'application/rdf+xml', 'application/atom+xml', 'application/xml']) do |body|
|
|
133
|
+
next body unless body.respond_to?(:to_str)
|
|
134
|
+
|
|
128
135
|
MultiXml.parse(body)
|
|
129
136
|
end
|
|
130
137
|
|
|
131
138
|
OAuth2::Response.register_parser(:json, ['application/json', 'text/javascript', 'application/hal+json', 'application/vnd.collection+json', 'application/vnd.api+json', 'application/problem+json']) do |body|
|
|
139
|
+
next body unless body.respond_to?(:to_str)
|
|
140
|
+
|
|
132
141
|
body = body.dup.force_encoding(::Encoding::ASCII_8BIT) if body.respond_to?(:force_encoding)
|
|
133
142
|
|
|
134
143
|
::JSON.parse(body)
|
data/lib/oauth2/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: oauth2
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter Boling
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: exe
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2022-06-
|
|
13
|
+
date: 2022-06-28 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: faraday
|
|
@@ -307,10 +307,10 @@ licenses:
|
|
|
307
307
|
- MIT
|
|
308
308
|
metadata:
|
|
309
309
|
homepage_uri: https://github.com/oauth-xx/oauth2
|
|
310
|
-
source_code_uri: https://github.com/oauth-xx/oauth2/tree/v2.0.
|
|
311
|
-
changelog_uri: https://github.com/oauth-xx/oauth2/blob/v2.0.
|
|
310
|
+
source_code_uri: https://github.com/oauth-xx/oauth2/tree/v2.0.3
|
|
311
|
+
changelog_uri: https://github.com/oauth-xx/oauth2/blob/v2.0.3/CHANGELOG.md
|
|
312
312
|
bug_tracker_uri: https://github.com/oauth-xx/oauth2/issues
|
|
313
|
-
documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.
|
|
313
|
+
documentation_uri: https://www.rubydoc.info/gems/oauth2/2.0.3
|
|
314
314
|
wiki_uri: https://github.com/oauth-xx/oauth2/wiki
|
|
315
315
|
rubygems_mfa_required: 'true'
|
|
316
316
|
post_install_message:
|