signet 0.14.0 → 0.14.1
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 +50 -41
- data/lib/signet/oauth_1.rb +1 -1
- data/lib/signet/version.rb +1 -1
- data/spec/signet/oauth_1_spec.rb +26 -0
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c94f4ee9a5ea982bba69826873be998a4cbf833af8c70920fd2384558efe33e5
|
|
4
|
+
data.tar.gz: 211e019a051159858a4e18cbe64efe9989a13df08b2d449e67ac4057f91f4332
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d8e5ac7a7977d89976275a4988e62139622436dea9f539a934b99e94f32832e57c8c522a91647449f9b5ea199fa561ad62680803f7d1dbe5b40946087b95dae4
|
|
7
|
+
data.tar.gz: 2b6476b3b89d09d66c0274fa9bd1b5da6aebb68932e7e15325cf34ccca14b5d5f5a16f76a22330bbcb9f6b66882e016eeccb54977e7a87cc4ce6f32568361808
|
data/CHANGELOG.md
CHANGED
|
@@ -1,54 +1,63 @@
|
|
|
1
|
-
|
|
1
|
+
# Release History
|
|
2
|
+
|
|
3
|
+
## [0.14.1](https://www.github.com/googleapis/signet/compare/v0.14.0...v0.14.1) (2021-01-27)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Fix OAuth1 signature with duplicate query param names ([9f5b81a](https://www.github.com/googleapis/signet/commit/9f5b81a60625a6e6f0e5bca24c67b90e73d7479b))
|
|
9
|
+
|
|
10
|
+
## 0.14.0 / 2020-03-31
|
|
2
11
|
|
|
3
12
|
* Support for fetching ID tokens from google oauth2 endpoint.
|
|
4
13
|
|
|
5
|
-
|
|
14
|
+
## 0.13.2 / 2020-03-25
|
|
6
15
|
|
|
7
16
|
Rerelease of 0.13.1.
|
|
8
17
|
|
|
9
|
-
|
|
18
|
+
## 0.13.1 / 2020-03-24
|
|
10
19
|
|
|
11
20
|
* Update github url
|
|
12
21
|
|
|
13
|
-
|
|
22
|
+
## 0.13.0 / 2020-02-24
|
|
14
23
|
|
|
15
24
|
* Support Faraday 1.x
|
|
16
25
|
|
|
17
|
-
|
|
26
|
+
## 0.12.0 / 2019-10-08
|
|
18
27
|
|
|
19
28
|
* This version now requires Ruby 2.4.
|
|
20
29
|
* Support array values of the "aud" field.
|
|
21
30
|
* Normalize the version constant to match related gems.
|
|
22
31
|
|
|
23
|
-
|
|
32
|
+
## 0.11.0 / 2018-10-08
|
|
24
33
|
|
|
25
34
|
* Add constant time comparison for oauth signatures.
|
|
26
35
|
|
|
27
|
-
|
|
36
|
+
## 0.10.0 / 2018-09-21
|
|
28
37
|
|
|
29
38
|
* Add UnexpectedStatusError class for http status errors that are not handled.
|
|
30
39
|
|
|
31
|
-
|
|
40
|
+
## 0.9.2 / 2018-09-12
|
|
32
41
|
|
|
33
42
|
* Update issued_at correctly when it is set simultaneously with expires_in.
|
|
34
43
|
|
|
35
|
-
|
|
44
|
+
## 0.9.1 / 2018-08-29
|
|
36
45
|
|
|
37
46
|
* Warn on EOL ruby versions.
|
|
38
47
|
* Fix DateTime normalization.
|
|
39
48
|
|
|
40
|
-
|
|
49
|
+
## 0.9.0 / 2018-08-20
|
|
41
50
|
|
|
42
51
|
* Add RemoteServerError class for 5xx level errors.
|
|
43
52
|
* Allow to_json to be called with arguments
|
|
44
53
|
* Expires_in now sets and reflects current expires_at value
|
|
45
54
|
* Expires_within(0) now returns false when expires_at is nil.
|
|
46
55
|
|
|
47
|
-
|
|
56
|
+
## 0.8.1 / 2017-10-13
|
|
48
57
|
|
|
49
58
|
* Restore support for Ruby 1.9.3
|
|
50
59
|
|
|
51
|
-
|
|
60
|
+
## 0.8.0 / 2017-10-12
|
|
52
61
|
|
|
53
62
|
* Ensure the "expires_at" attribute is recalculated on refresh (chutzimir)
|
|
54
63
|
* Fix warnings on Ruby 2.4 (koic)
|
|
@@ -56,20 +65,20 @@ Rerelease of 0.13.1.
|
|
|
56
65
|
* Provide signature verification algorithm for compatibility with ruby-jwt 2.0 (jurriaan)
|
|
57
66
|
* Signet::OAuth2::Client#decoded_id_token can take a keyfinder block (mvastola)
|
|
58
67
|
|
|
59
|
-
|
|
68
|
+
## 0.7.3 / 2016-06-20
|
|
60
69
|
|
|
61
70
|
* Fix timestamp parsing on 32-bit systems
|
|
62
71
|
* Fix expiration check when issue/expiry times are nil
|
|
63
72
|
|
|
64
|
-
|
|
73
|
+
## 0.7.2 / 2015-12-21
|
|
65
74
|
|
|
66
75
|
* Don't assume Faraday form encoding middleware is present
|
|
67
76
|
|
|
68
|
-
|
|
77
|
+
## 0.7.1 / 2015-12-17
|
|
69
78
|
|
|
70
79
|
* Fix an issue with date parsing
|
|
71
80
|
|
|
72
|
-
|
|
81
|
+
## 0.7 / 2015-12-06
|
|
73
82
|
|
|
74
83
|
* No longer overwrite SSL environment variables.
|
|
75
84
|
* Tighten up date & URL (de)serialization for OAuth2 client
|
|
@@ -78,7 +87,7 @@ Rerelease of 0.13.1.
|
|
|
78
87
|
* Add expires_within(sec) method to oauth2 client to facilitate proactive
|
|
79
88
|
refreshes
|
|
80
89
|
|
|
81
|
-
|
|
90
|
+
## 0.6.1 / 2015-06-08
|
|
82
91
|
|
|
83
92
|
* Fix language warnings for unused & shadowed variables ((@blowmage)[])
|
|
84
93
|
* Update SSL cert path for OSX ((@gambaroff)[])
|
|
@@ -86,14 +95,14 @@ Rerelease of 0.13.1.
|
|
|
86
95
|
* Fix incorrect parameter name in OAuth2 client docs ((@samuelreh)[])
|
|
87
96
|
* Fix symbolization of URL parameter keys ((@swifthand)[])
|
|
88
97
|
|
|
89
|
-
|
|
98
|
+
## 0.6.0 / 2014-12-05
|
|
90
99
|
|
|
91
100
|
* Drop support for ruby versions < 1.9.3
|
|
92
101
|
* Update gem dependencies and lock down versions tighter
|
|
93
102
|
* Allow form encoded responses when exchanging OAuth 2 authorization codes
|
|
94
103
|
* Normalize options keys for indifferent access
|
|
95
104
|
|
|
96
|
-
|
|
105
|
+
## 0.5.1 / 2014-06-08
|
|
97
106
|
|
|
98
107
|
* Allow Hash objects to be used to initialize authorization URI
|
|
99
108
|
* Added PLAINTEXT and RSA-SHA1 signature methods to OAuth 1 support
|
|
@@ -101,53 +110,53 @@ Rerelease of 0.13.1.
|
|
|
101
110
|
* The `approval_prompt` option no longer defaults to `:force`
|
|
102
111
|
* The `approval_prompt` and `prompt` are now mutually exclusive.
|
|
103
112
|
|
|
104
|
-
|
|
113
|
+
## 0.5.0 / 2013-05-31
|
|
105
114
|
|
|
106
115
|
* Switched to faraday 0.9.0
|
|
107
116
|
* Added `expires_at` option
|
|
108
117
|
|
|
109
|
-
|
|
118
|
+
## 0.4.5
|
|
110
119
|
|
|
111
120
|
* Minor documentation fixes
|
|
112
121
|
* Allow postmessage as a valid redirect_uri in OAuth 2
|
|
113
122
|
|
|
114
|
-
|
|
123
|
+
## 0.4.4
|
|
115
124
|
|
|
116
125
|
* Add support for assertion profile
|
|
117
126
|
|
|
118
|
-
|
|
127
|
+
## 0.4.3
|
|
119
128
|
|
|
120
129
|
* Added method to clear credentials
|
|
121
130
|
|
|
122
|
-
|
|
131
|
+
## 0.4.2
|
|
123
132
|
|
|
124
133
|
* Backwards compatibility for MultiJson
|
|
125
134
|
|
|
126
|
-
|
|
135
|
+
## 0.4.1
|
|
127
136
|
|
|
128
137
|
* Updated Launchy dependency
|
|
129
138
|
|
|
130
|
-
|
|
139
|
+
## 0.4.0
|
|
131
140
|
|
|
132
141
|
* Added OAuth 1 server implementation
|
|
133
142
|
* Updated Faraday dependency
|
|
134
143
|
|
|
135
|
-
|
|
144
|
+
## 0.3.4
|
|
136
145
|
|
|
137
146
|
* Attempts to auto-detect CA cert location
|
|
138
147
|
|
|
139
|
-
|
|
148
|
+
## 0.3.3
|
|
140
149
|
|
|
141
150
|
* Request objects no longer recreated during processing
|
|
142
151
|
* Faraday middleware now supported
|
|
143
152
|
* Streamed requests now supported
|
|
144
153
|
* Fixed assertion profiles; client ID/secret omission no longer an error
|
|
145
154
|
|
|
146
|
-
|
|
155
|
+
## 0.3.2
|
|
147
156
|
|
|
148
157
|
* Added audience security check for ID tokens
|
|
149
158
|
|
|
150
|
-
|
|
159
|
+
## 0.3.1
|
|
151
160
|
|
|
152
161
|
* Fixed a warning while determining grant type
|
|
153
162
|
* Removed requirement that a connection be supplied when authorizing requests
|
|
@@ -155,52 +164,52 @@ Rerelease of 0.13.1.
|
|
|
155
164
|
* Fixed some documentation stuff around markdown formatting
|
|
156
165
|
* Added support for Google Code wiki format output when generating docs
|
|
157
166
|
|
|
158
|
-
|
|
167
|
+
## 0.3.0
|
|
159
168
|
|
|
160
169
|
* Replaced httpadapter gem dependency with faraday
|
|
161
170
|
* Replaced json gem dependency with multi_json
|
|
162
171
|
* Updated to OAuth 2.0 draft 22
|
|
163
172
|
* Complete test coverage
|
|
164
173
|
|
|
165
|
-
|
|
174
|
+
## 0.2.4
|
|
166
175
|
|
|
167
176
|
* Updated to incorporate changes to the Google OAuth endpoints
|
|
168
177
|
|
|
169
|
-
|
|
178
|
+
## 0.2.3
|
|
170
179
|
|
|
171
180
|
* Added support for JWT-formatted ID tokens.
|
|
172
181
|
* Added :issued_at option to #update_token! method.
|
|
173
182
|
|
|
174
|
-
|
|
183
|
+
## 0.2.2
|
|
175
184
|
|
|
176
185
|
* Lowered requirements for json gem
|
|
177
186
|
|
|
178
|
-
|
|
187
|
+
## 0.2.1
|
|
179
188
|
|
|
180
189
|
* Updated to keep in sync with the new httpadapter changes
|
|
181
190
|
|
|
182
|
-
|
|
191
|
+
## 0.2.0
|
|
183
192
|
|
|
184
193
|
* Added support for OAuth 2.0 draft 10
|
|
185
194
|
|
|
186
|
-
|
|
195
|
+
## 0.1.4
|
|
187
196
|
|
|
188
197
|
* Added support for a two-legged authorization flow
|
|
189
198
|
|
|
190
|
-
|
|
199
|
+
## 0.1.3
|
|
191
200
|
|
|
192
201
|
* Fixed issue with headers passed in as a Hash
|
|
193
202
|
* Fixed incompatibilities with Ruby 1.8.6
|
|
194
203
|
|
|
195
|
-
|
|
204
|
+
## 0.1.2
|
|
196
205
|
|
|
197
206
|
* Fixed bug with overzealous normalization
|
|
198
207
|
|
|
199
|
-
|
|
208
|
+
## 0.1.1
|
|
200
209
|
|
|
201
210
|
* Fixed bug with missing StringIO require
|
|
202
211
|
* Fixed issue with dependency on unreleased features of addressable
|
|
203
212
|
|
|
204
|
-
|
|
213
|
+
## 0.1.0
|
|
205
214
|
|
|
206
215
|
* Initial release
|
data/lib/signet/oauth_1.rb
CHANGED
|
@@ -178,7 +178,7 @@ module Signet #:nodoc:
|
|
|
178
178
|
query: parsed_uri.query,
|
|
179
179
|
fragment: parsed_uri.fragment
|
|
180
180
|
)
|
|
181
|
-
uri_parameters = uri.query_values
|
|
181
|
+
uri_parameters = uri.query_values(Array) || []
|
|
182
182
|
uri = uri.omit(:query, :fragment).to_s
|
|
183
183
|
merged_parameters =
|
|
184
184
|
uri_parameters.concat(parameters.map { |k, v| [k, v] })
|
data/lib/signet/version.rb
CHANGED
data/spec/signet/oauth_1_spec.rb
CHANGED
|
@@ -282,6 +282,32 @@ describe Signet::OAuth1 do
|
|
|
282
282
|
)
|
|
283
283
|
end
|
|
284
284
|
|
|
285
|
+
it "should correctly generate a base signature with duplicated query params" do
|
|
286
|
+
method = "GET"
|
|
287
|
+
uri = "http://photos.example.net/photos?foo=bar&foo=baz&foo=qux"
|
|
288
|
+
parameters = {
|
|
289
|
+
"oauth_consumer_key" => "dpf43f3p2l4k3l03",
|
|
290
|
+
"oauth_token" => "nnch734d00sl2jdk",
|
|
291
|
+
"oauth_signature_method" => "HMAC-SHA1",
|
|
292
|
+
"oauth_timestamp" => "1191242096",
|
|
293
|
+
"oauth_nonce" => "kllo9940pd9333jh",
|
|
294
|
+
"oauth_version" => "1.0",
|
|
295
|
+
"file" => "vacation.jpg",
|
|
296
|
+
"size" => "original"
|
|
297
|
+
}
|
|
298
|
+
expect(Signet::OAuth1.generate_base_string(method, uri, parameters)).to eq(
|
|
299
|
+
"GET&http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacation.jpg%26" \
|
|
300
|
+
"foo%3Dbar%26" \
|
|
301
|
+
"foo%3Dbaz%26" \
|
|
302
|
+
"foo%3Dqux%26" \
|
|
303
|
+
"oauth_consumer_key%3Ddpf43f3p2l4k3l03%26" \
|
|
304
|
+
"oauth_nonce%3Dkllo9940pd9333jh%26" \
|
|
305
|
+
"oauth_signature_method%3DHMAC-SHA1%26" \
|
|
306
|
+
"oauth_timestamp%3D1191242096%26oauth_token%3Dnnch734d00sl2jdk%26" \
|
|
307
|
+
"oauth_version%3D1.0%26size%3Doriginal"
|
|
308
|
+
)
|
|
309
|
+
end
|
|
310
|
+
|
|
285
311
|
it "should correctly generate an authorization header" do
|
|
286
312
|
parameters = [
|
|
287
313
|
%w[oauth_consumer_key 0685bd9184jfhq22],
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: signet
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.14.
|
|
4
|
+
version: 0.14.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Bob Aman
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2021-01-27 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: addressable
|
|
@@ -248,7 +248,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
248
248
|
- !ruby/object:Gem::Version
|
|
249
249
|
version: 1.3.5
|
|
250
250
|
requirements: []
|
|
251
|
-
rubygems_version: 3.
|
|
251
|
+
rubygems_version: 3.2.6
|
|
252
252
|
signing_key:
|
|
253
253
|
specification_version: 4
|
|
254
254
|
summary: Signet is an OAuth 1.0 / OAuth 2.0 implementation.
|