signet 0.14.0 → 0.14.1
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|