wp-hmac 0.1.1 → 0.2.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.
- 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
|