jwt_signed_request 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 63ee8746247f0608359ddce429288ffdc221c557
4
- data.tar.gz: 287faa1a7791c0dbe34594b18f64107ac55b52d0
3
+ metadata.gz: 12f82e6c9a8cf8a78430870a13956801c8d41c52
4
+ data.tar.gz: '09eaae125e6f453acff68839cb7c17e817871bb5'
5
5
  SHA512:
6
- metadata.gz: 585079a4bde041f67d87d0209d18bdc3912b9d282947b3d258c02ae152beabc85bd7da6306b5ddb657e7f9f0f7432f833aa455f3817d1737eac67648798e6290
7
- data.tar.gz: 6e08fcfcb59f449c7745c0d4b17ad16b316edfb0db78e1fea73bb0ff7abaea047ca9e2fe66b6a7637601655ca8faae34d472e1a7fe2a7c6ba3d3fdd2eef1086a
6
+ metadata.gz: d1e00ca21e83575c1f8690d7000c35ec0da86b7f481708928d1045d53d50fb5594afb4240a04f44bd8c17132cf94dbabf4f38e98635c97b05216548d6d0b2a71
7
+ data.tar.gz: b73cf2457388eac51c97d492ac0533a10b754190a842b524155b28326fa0a96def9403665fbefc330e4422065ce2c36c3e34445a547507de7b875106eab30fbe
data/README.md CHANGED
@@ -155,8 +155,9 @@ exDdlmXEjHYaixzYIduluGXd3cjg4H2gjqsY/NCpJ9nM8/AAINSrq+qPuA==
155
155
  """
156
156
 
157
157
  class Server < Sinatra::Base
158
- use JWTSignedRequest::Middlewares::Rack
159
- secret_key: OpenSSL::PKey::EC.new(PUBLIC_KEY)
158
+ use JWTSignedRequest::Middlewares::Rack,
159
+ secret_key: OpenSSL::PKey::EC.new(PUBLIC_KEY),
160
+ exclude_paths: /public|health/ # optional regex
160
161
  end
161
162
  ```
162
163
 
@@ -10,15 +10,18 @@ module JWTSignedRequest
10
10
  @app = app
11
11
  @secret_key = options.fetch(:secret_key)
12
12
  @algorithm = options[:algorithm]
13
+ @exclude_paths = options[:exclude_paths]
13
14
  end
14
15
 
15
16
  def call(env)
16
17
  begin
17
- ::JWTSignedRequest.verify(
18
- request: ::Rack::Request.new(env),
19
- secret_key: secret_key,
20
- algorithm: algorithm
21
- )
18
+ unless excluded_path?(env)
19
+ ::JWTSignedRequest.verify(
20
+ request: ::Rack::Request.new(env),
21
+ secret_key: secret_key,
22
+ algorithm: algorithm
23
+ )
24
+ end
22
25
 
23
26
  app.call(env)
24
27
  rescue ::JWTSignedRequest::UnauthorizedRequestError => e
@@ -28,7 +31,12 @@ module JWTSignedRequest
28
31
 
29
32
  private
30
33
 
31
- attr_reader :app, :secret_key, :algorithm
34
+ attr_reader :app, :secret_key, :algorithm, :exclude_paths
35
+
36
+ def excluded_path?(env)
37
+ !exclude_paths.nil? &&
38
+ env['REQUEST_PATH'].match(exclude_paths)
39
+ end
32
40
  end
33
41
  end
34
42
  end
@@ -1,3 +1,3 @@
1
1
  module JWTSignedRequest
2
- VERSION = "1.2.0".freeze
2
+ VERSION = "1.2.1".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jwt_signed_request
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toan Nguyen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-28 00:00:00.000000000 Z
11
+ date: 2017-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -141,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
141
  version: '0'
142
142
  requirements: []
143
143
  rubyforge_project:
144
- rubygems_version: 2.4.5.1
144
+ rubygems_version: 2.6.11
145
145
  signing_key:
146
146
  specification_version: 4
147
147
  summary: JWT request signing and verification for Internal APIs