warden-hmac-authentication 0.6.2 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/faraday/request/hmac.rb +1 -1
- data/lib/hmac/signer.rb +11 -7
- metadata +2 -18
data/lib/faraday/request/hmac.rb
CHANGED
data/lib/hmac/signer.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'addressable/uri'
|
2
1
|
require 'openssl'
|
3
2
|
require 'rack/utils'
|
4
3
|
if defined?(JRUBY_VERSION) && RUBY_VERSION =~ /^1\.9/
|
@@ -121,8 +120,8 @@ module HMAC
|
|
121
120
|
opts = default_opts.merge(opts)
|
122
121
|
opts[:query_based] = true
|
123
122
|
|
124
|
-
uri =
|
125
|
-
query_values = uri.
|
123
|
+
uri = parse_url(url)
|
124
|
+
query_values = Rack::Utils.parse_nested_query(uri.query)
|
126
125
|
return false unless query_values
|
127
126
|
|
128
127
|
auth_params = query_values.delete(opts[:auth_param])
|
@@ -208,7 +207,7 @@ module HMAC
|
|
208
207
|
def sign_request(url, secret, opts = {})
|
209
208
|
opts = default_opts.merge(opts)
|
210
209
|
|
211
|
-
uri =
|
210
|
+
uri = parse_url(url)
|
212
211
|
headers = opts[:headers] || {}
|
213
212
|
|
214
213
|
date = opts[:date] || Time.now.gmtime
|
@@ -216,7 +215,7 @@ module HMAC
|
|
216
215
|
|
217
216
|
method = opts[:method] ? opts[:method].to_s.upcase : "GET"
|
218
217
|
|
219
|
-
query_values = uri.
|
218
|
+
query_values = Rack::Utils.parse_nested_query(uri.query)
|
220
219
|
|
221
220
|
if query_values
|
222
221
|
query_values.delete_if do |k,v|
|
@@ -233,9 +232,9 @@ module HMAC
|
|
233
232
|
})
|
234
233
|
auth_params[:nonce] = opts[:nonce] unless opts[:nonce].nil?
|
235
234
|
|
236
|
-
query_values
|
235
|
+
query_values ||= {}
|
237
236
|
query_values[opts[:auth_param]] = auth_params
|
238
|
-
uri.
|
237
|
+
uri.query = Rack::Utils.build_nested_query(query_values)
|
239
238
|
else
|
240
239
|
headers[opts[:auth_header]] = opts[:auth_header_format] % opts.merge({:signature => signature})
|
241
240
|
headers[opts[:nonce_header]] = opts[:nonce] unless opts[:nonce].nil?
|
@@ -281,5 +280,10 @@ module HMAC
|
|
281
280
|
end
|
282
281
|
end
|
283
282
|
|
283
|
+
#parse url if url parameter is string do nothing if parameter is URI
|
284
|
+
def parse_url(url)
|
285
|
+
return url if url.is_a?(URI)
|
286
|
+
URI.parse(url)
|
287
|
+
end
|
284
288
|
end
|
285
289
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: warden-hmac-authentication
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,24 +10,8 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-10-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: addressable
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
|
-
requirements:
|
20
|
-
- - ! '>='
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '0'
|
23
|
-
type: :runtime
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
|
-
requirements:
|
28
|
-
- - ! '>='
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
version: '0'
|
31
15
|
- !ruby/object:Gem::Dependency
|
32
16
|
name: rack
|
33
17
|
requirement: !ruby/object:Gem::Requirement
|