rack-signature 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -15,10 +15,11 @@ module Rack
15
15
  # ==== Attributes
16
16
  #
17
17
  # * +app+ - A Rack app
18
- # * +key+ - The shared key used as a salt.
18
+ # * +key+ - A class is passed that response to +get_signature_key+ to
19
+ # get the shared key used for verifying the signature
19
20
  #
20
- def initialize(app, key)
21
- @app, @key = app, key
21
+ def initialize(app, klass)
22
+ @app, @key = app, klass.get_signature_key
22
23
  end
23
24
 
24
25
  def call(env)
@@ -2,7 +2,7 @@ module Rack
2
2
  module Signature
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- PATCH = 1
5
+ PATCH = 3
6
6
 
7
7
  def self.version
8
8
  [MAJOR, MINOR, PATCH].join('.')
@@ -5,8 +5,8 @@ require_relative 'signature/verify'
5
5
 
6
6
  module Rack
7
7
  module Signature
8
- def self.new(app, key)
9
- Verify.new(app, key)
8
+ def self.new(app, klass)
9
+ Verify.new(app, klass)
10
10
  end
11
11
  end
12
12
  end
data/test/test_helper.rb CHANGED
@@ -2,3 +2,4 @@ require 'minitest/autorun'
2
2
  require 'rack/test'
3
3
  require 'rack/mock'
4
4
  require 'digest/sha2'
5
+ require 'ostruct'
data/test/verify_test.rb CHANGED
@@ -5,12 +5,13 @@ describe "Verifying a signed request" do
5
5
  include Rack::Test::Methods
6
6
 
7
7
  def setup
8
+ @klass = client_klass
8
9
  @shared_key = key
9
10
  @signature = expected_signature
10
11
  end
11
12
 
12
13
  let(:app) { lambda { |env| [200, {}, ['Hello World']] } }
13
- let(:rack_signature) { Rack::Signature.new(app, @shared_key) }
14
+ let(:rack_signature) { Rack::Signature.new(app, @klass) }
14
15
  let(:mock_request) { Rack::MockRequest.new(rack_signature) }
15
16
 
16
17
  describe "when a request is made without a signature" do
@@ -80,4 +81,8 @@ describe "Verifying a signed request" do
80
81
  "Z0qY8Hy4a/gJkGZI0gklzM6vZztsAVVDjA18vb1BvHg="
81
82
  end
82
83
 
84
+ def client_klass
85
+ OpenStruct.new(get_signature_key: key)
86
+ end
87
+
83
88
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-signature
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -98,7 +98,6 @@ files:
98
98
  - test/hmac_signature_test.rb
99
99
  - test/test_helper.rb
100
100
  - test/verify_test.rb
101
- - test/version_test.rb
102
101
  homepage: ''
103
102
  licenses: []
104
103
  post_install_message:
@@ -119,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
118
  version: '0'
120
119
  requirements: []
121
120
  rubyforge_project:
122
- rubygems_version: 1.8.23
121
+ rubygems_version: 1.8.24
123
122
  signing_key:
124
123
  specification_version: 3
125
124
  summary: Rack Middleware for verifying signed requests
@@ -128,5 +127,4 @@ test_files:
128
127
  - test/hmac_signature_test.rb
129
128
  - test/test_helper.rb
130
129
  - test/verify_test.rb
131
- - test/version_test.rb
132
130
  has_rdoc:
data/test/version_test.rb DELETED
@@ -1,9 +0,0 @@
1
- require_relative '../lib/rack/signature/version'
2
- require 'minitest/autorun'
3
-
4
- class VersionTest < MiniTest::Unit::TestCase
5
- def test_version
6
- expected_version = '0.0.1'
7
- assert_equal expected_version, Rack::Signature.version
8
- end
9
- end