uri_signer 1.0.0 → 2.0.0
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 +7 -0
- data/lib/uri_signer/signer.rb +2 -1
- data/lib/uri_signer/uri_signature.rb +2 -3
- data/lib/uri_signer/version.rb +1 -1
- data/spec/signer_spec.rb +2 -2
- data/spec/uri_signature_spec.rb +1 -1
- metadata +16 -37
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c0d79ff3739ad79e786f64346243fa85c34b77bf
|
4
|
+
data.tar.gz: 8a13ccd0496a634037fe8b8557c1dd0914b395ab
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5a5322c1b9136a4002573d05e32a3dbb92db086d20c246fd97ba3d92e0f2a8e66ec6a3313a42d72469b50d338765f63fc0ff2491922120a25c55fca86a113a59
|
7
|
+
data.tar.gz: 27a2c555a224b216f9a92c099ac43c4275d72edbfd44422810fa9880d49e311286890c49ec0a55dc4a21766a20be4daac24e8cf6cc956d3955c982ff024a5606
|
data/lib/uri_signer/signer.rb
CHANGED
@@ -56,7 +56,8 @@ module UriSigner
|
|
56
56
|
# return [String]
|
57
57
|
def uri_with_signature
|
58
58
|
separator = if request_parser.query_params? then '&' else '?' end
|
59
|
-
|
59
|
+
encoded_signature = signature.extend(UriSigner::Helpers::String).escaped
|
60
|
+
"%s%s_signature=%s" % [self.uri, separator, encoded_signature]
|
60
61
|
end
|
61
62
|
|
62
63
|
# Returns the uppercased HTTP Method
|
@@ -71,9 +71,8 @@ module UriSigner
|
|
71
71
|
def sign!
|
72
72
|
extension = UriSigner::Helpers::String
|
73
73
|
|
74
|
-
hmac
|
75
|
-
|
76
|
-
escaped = encoded.extend(extension).escaped
|
74
|
+
hmac = self.signature_string.extend(extension).hmac_signed_with(@secret)
|
75
|
+
hmac.extend(extension).base64_encoded
|
77
76
|
end
|
78
77
|
end
|
79
78
|
end
|
data/lib/uri_signer/version.rb
CHANGED
data/spec/signer_spec.rb
CHANGED
@@ -38,7 +38,7 @@ describe UriSigner::Signer do
|
|
38
38
|
end
|
39
39
|
|
40
40
|
it "returns the signed URI with the secret" do
|
41
|
-
subject.signature.should == "1AaJvChjz
|
41
|
+
subject.signature.should == "1AaJvChjz+ZYJKxWsUQWNK1a+eGjpCs6uwQKwPw1/V8="
|
42
42
|
end
|
43
43
|
|
44
44
|
context "appending the signature" do
|
@@ -55,7 +55,7 @@ describe UriSigner::Signer do
|
|
55
55
|
|
56
56
|
context "Validating the signature" do
|
57
57
|
it "returns true for #valid?" do
|
58
|
-
subject.valid?('1AaJvChjz
|
58
|
+
subject.valid?('1AaJvChjz+ZYJKxWsUQWNK1a+eGjpCs6uwQKwPw1/V8=').should be_true
|
59
59
|
end
|
60
60
|
|
61
61
|
it "returns false for #valid?" do
|
data/spec/uri_signature_spec.rb
CHANGED
@@ -18,7 +18,7 @@ describe UriSigner::UriSignature do
|
|
18
18
|
|
19
19
|
it "signs the request" do
|
20
20
|
# NOTE: Want to somehow refactor this when looking into the players of signing (String Helpers)
|
21
|
-
subject.signature.should == "KwLgbFRjaoQ8IBQs3xje6uhgyoT6gQR04YQs36lAXmk
|
21
|
+
subject.signature.should == "KwLgbFRjaoQ8IBQs3xje6uhgyoT6gQR04YQs36lAXmk="
|
22
22
|
end
|
23
23
|
|
24
24
|
context "Validations" do
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uri_signer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 2.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Nate Klaiber
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-15 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: addressable
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: ruby-hmac
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,68 +41,60 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: bundler
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rake
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rspec
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - '>='
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - '>='
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: yard
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - '>='
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - '>='
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
|
-
description:
|
97
|
+
description: ' Handle the generation of a URI signature for API '
|
111
98
|
email:
|
112
99
|
- nklaiber@kissmetrics.com
|
113
100
|
executables: []
|
@@ -157,33 +144,26 @@ files:
|
|
157
144
|
homepage: https://github.com/kissmetrics/uri_signer
|
158
145
|
licenses:
|
159
146
|
- MIT
|
147
|
+
metadata: {}
|
160
148
|
post_install_message:
|
161
149
|
rdoc_options: []
|
162
150
|
require_paths:
|
163
151
|
- lib
|
164
152
|
required_ruby_version: !ruby/object:Gem::Requirement
|
165
|
-
none: false
|
166
153
|
requirements:
|
167
|
-
- -
|
154
|
+
- - '>='
|
168
155
|
- !ruby/object:Gem::Version
|
169
156
|
version: '0'
|
170
|
-
segments:
|
171
|
-
- 0
|
172
|
-
hash: 2563538937758368906
|
173
157
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
174
|
-
none: false
|
175
158
|
requirements:
|
176
|
-
- -
|
159
|
+
- - '>='
|
177
160
|
- !ruby/object:Gem::Version
|
178
161
|
version: '0'
|
179
|
-
segments:
|
180
|
-
- 0
|
181
|
-
hash: 2563538937758368906
|
182
162
|
requirements: []
|
183
163
|
rubyforge_project:
|
184
|
-
rubygems_version:
|
164
|
+
rubygems_version: 2.0.3
|
185
165
|
signing_key:
|
186
|
-
specification_version:
|
166
|
+
specification_version: 4
|
187
167
|
summary: Given a client secret, we can digitally sign the URL and make requests to
|
188
168
|
the API.
|
189
169
|
test_files:
|
@@ -194,4 +174,3 @@ test_files:
|
|
194
174
|
- spec/unit/helpers/hash_spec.rb
|
195
175
|
- spec/unit/helpers/string_spec.rb
|
196
176
|
- spec/uri_signature_spec.rb
|
197
|
-
has_rdoc:
|