ey_api_hmac 0.3.0 → 0.3.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.
- data/README.md +30 -0
- data/lib/ey_api_hmac/version.rb +1 -1
- data/lib/ey_api_hmac.rb +1 -1
- data/spec/api_auth_spec.rb +8 -0
- metadata +9 -9
data/README.md
CHANGED
@@ -30,3 +30,33 @@ Rack-Client middleware:
|
|
30
30
|
```
|
31
31
|
|
32
32
|
this will add the correct Authorization header to all requests made with this rack-client.
|
33
|
+
|
34
|
+
# Imlementation details:
|
35
|
+
|
36
|
+
before signed:
|
37
|
+
|
38
|
+
{"REQUEST_URI"=>"http://example.com/api/1/service_accounts/1324/messages", "PATH_INFO"=>"/api/1/service_accounts/1324/messages", "CONTENT_TYPE"=>"application/json", "HTTP_ACCEPT"=>"application/json", "REQUEST_METHOD"=>"POST", "HTTP_DATE"=>"Thu, 15 Dec 2011 23:50:33 GMT", "rack.input"=>#<StringIO:0x007fd9239f6998>}
|
39
|
+
|
40
|
+
request body:
|
41
|
+
|
42
|
+
{"message":{"message_type":"status","subject":"Everything looks good.","body":null}}
|
43
|
+
|
44
|
+
auth_id:
|
45
|
+
|
46
|
+
123bc211233eabc
|
47
|
+
|
48
|
+
auth_key:
|
49
|
+
|
50
|
+
abc474e3fc9bddf6d41236b70cc5a952f3681166e1239214740d13eecd12318f7b8d27123b61eabc
|
51
|
+
|
52
|
+
canonical_string:
|
53
|
+
|
54
|
+
"POST\napplication/json\ne8fa80541e3726e2cf4c71d07a7bd9fd\nThu, 15 Dec 2011 23:50:33 GMT\n/api/1/service_accounts/1324/messages"
|
55
|
+
|
56
|
+
signature:
|
57
|
+
|
58
|
+
UZDkXszu4dp6Gz2TEGcy/cVt0R0=
|
59
|
+
|
60
|
+
now signed:
|
61
|
+
|
62
|
+
{"REQUEST_URI"=>"http://example.com/api/1/service_accounts/1324/messages", "PATH_INFO"=>"/api/1/service_accounts/1324/messages", "CONTENT_TYPE"=>"application/json", "HTTP_ACCEPT"=>"application/json", "REQUEST_METHOD"=>"POST", "HTTP_DATE"=>"Thu, 15 Dec 2011 23:50:33 GMT", "rack.input"=>#<StringIO:0x007fd9239f6998>, "HTTP_AUTHORIZATION"=>"AuthHMAC 123bc211233eabc:UZDkXszu4dp6Gz2TEGcy/cVt0R0="}
|
data/lib/ey_api_hmac/version.rb
CHANGED
data/lib/ey_api_hmac.rb
CHANGED
data/spec/api_auth_spec.rb
CHANGED
@@ -73,6 +73,14 @@ describe EY::ApiHMAC::ApiAuth do
|
|
73
73
|
AuthHMAC.canonical_string(@request).should == expected
|
74
74
|
EY::ApiHMAC.canonical_string(@env).should == expected
|
75
75
|
end
|
76
|
+
it "should generate a canonical string with SCRIPT_NAME" do
|
77
|
+
env = @env.merge("SCRIPT_NAME" => "/api")
|
78
|
+
env.delete("REQUEST_URI")
|
79
|
+
expected = "PUT\ntext/plain\n78b9d09661da64f0bc6c146c524bae4a\nThu, 10 Jul 2008 03:29:56 GMT\n/api/path/to/put"
|
80
|
+
request = Rack::Request.new(env)
|
81
|
+
AuthHMAC.canonical_string(request).should == expected
|
82
|
+
EY::ApiHMAC.canonical_string(env).should == expected
|
83
|
+
end
|
76
84
|
end
|
77
85
|
|
78
86
|
describe ".signature" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ey_api_hmac
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-12-
|
12
|
+
date: 2011-12-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack-client
|
16
|
-
requirement: &
|
16
|
+
requirement: &2161109420 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2161109420
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: json
|
27
|
-
requirement: &
|
27
|
+
requirement: &2161108660 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2161108660
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &2161107340 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2161107340
|
47
47
|
description: basic wrapper for rack-client + middlewares for HMAC auth + helpers for
|
48
48
|
SSO auth
|
49
49
|
email:
|
@@ -90,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
90
|
version: '0'
|
91
91
|
requirements: []
|
92
92
|
rubyforge_project: ey_api_hmac
|
93
|
-
rubygems_version: 1.8.
|
93
|
+
rubygems_version: 1.8.12
|
94
94
|
signing_key:
|
95
95
|
specification_version: 3
|
96
96
|
summary: HMAC Rack basic implementation for Engine Yard services
|