wp-hmac 0.1.1 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/wp/hmac/key_cabinet.rb +14 -3
- data/lib/wp/hmac/version.rb +1 -1
- data/lib/wp/hmac.rb +6 -1
- data/spec/hmac_spec.rb +18 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7890c63aaa7a52e55fae583b772d0fdd4ed2f09e
|
4
|
+
data.tar.gz: 9de22c8167a45b4a20f45edc6daeb69e1a1fb53e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d2230ec01a97d7b2e18595ff3d6f4e16564c907c4f720c8a81d5042b629351366e649514cc38f4bfe27d5638dc12d7a85f5c055537cd98e666e7942443efff0
|
7
|
+
data.tar.gz: 50f840e23e5aa29b9a3e71d45e9ef0728cdc2b5f56b83454a6b7a2d312e9d4db3d0d1cd924e077162534f6ca165995f9a333e4c1290ee4ca76b15da385e43eeb
|
data/lib/wp/hmac/key_cabinet.rb
CHANGED
@@ -12,9 +12,20 @@ module WP
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def find_by_auth_id(id)
|
15
|
-
|
16
|
-
raise KeyNotFound, 'Ensure all secret keys are loaded with `HMAC::KeyCabinet.add_key`' if
|
17
|
-
OpenStruct.new(
|
15
|
+
hash = lookup(id) || @keys[id]
|
16
|
+
raise KeyNotFound, 'Ensure all secret keys are loaded with `HMAC::KeyCabinet.add_key`' if hash.nil?
|
17
|
+
OpenStruct.new(hash)
|
18
|
+
end
|
19
|
+
|
20
|
+
def lookup(id)
|
21
|
+
return unless @lookup_block
|
22
|
+
if key = @lookup_block.call(id)
|
23
|
+
return { id: id, auth_key: key }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def lookup_block=(block)
|
28
|
+
@lookup_block = block
|
18
29
|
end
|
19
30
|
end
|
20
31
|
end
|
data/lib/wp/hmac/version.rb
CHANGED
data/lib/wp/hmac.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'wp/hmac/version'
|
2
2
|
require 'rubygems'
|
3
3
|
require 'bundler/setup'
|
4
4
|
Bundler.require
|
@@ -34,8 +34,13 @@ module WP
|
|
34
34
|
@callable.call
|
35
35
|
end
|
36
36
|
|
37
|
+
def self.lookup_auth_key_with(&block)
|
38
|
+
KeyCabinet.lookup_block = block
|
39
|
+
end
|
40
|
+
|
37
41
|
def self.reset
|
38
42
|
KeyCabinet.keys = {}
|
43
|
+
KeyCabinet.lookup_block = nil
|
39
44
|
Server.hmac_enabled_routes = []
|
40
45
|
end
|
41
46
|
end
|
data/spec/hmac_spec.rb
CHANGED
@@ -79,4 +79,22 @@ RSpec.describe WP::HMAC, type: :request do
|
|
79
79
|
expect(rack_response.body).to include('Hello, world!')
|
80
80
|
end
|
81
81
|
end
|
82
|
+
|
83
|
+
context 'with a key configured via a block' do
|
84
|
+
before do
|
85
|
+
WP::HMAC.configure do
|
86
|
+
lookup_auth_key_with { |id| id == 'account2' ? 'mykey' : nil }
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'looks up the key via the block' do
|
91
|
+
key = WP::HMAC::KeyCabinet.find_by_auth_id('account2')
|
92
|
+
expect(key.auth_key).to eq 'mykey'
|
93
|
+
end
|
94
|
+
|
95
|
+
it 'still finds keys from the add_key method' do
|
96
|
+
key = WP::HMAC::KeyCabinet.find_by_auth_id('esso')
|
97
|
+
expect(key.auth_key).to eq 'secret_key'
|
98
|
+
end
|
99
|
+
end
|
82
100
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wp-hmac
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Nagi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ey_api_hmac
|