matic-jwt 0.3.0 → 1.0.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a9f27f0147e0b0b711317e2e602ea5f706c9fdf5
4
- data.tar.gz: a78ef1b3ccf8598452f9f234dc5120c7b8a285ef
3
+ metadata.gz: 90a373ebd61d2f005071650b619d104e380ee48a
4
+ data.tar.gz: cc006f8be62476c2469acbb9032eb1d1393fb334
5
5
  SHA512:
6
- metadata.gz: 1840565c7599865b4c7abacc35ee28058a9a19ba27f06b2b6a43f396fdf29858e2d56a8a3767b8170e96b807eddc975744d670de3fc2a87b2db5d4cc78203840
7
- data.tar.gz: 55301f664664e148c9634b810c85e734bd15aec98a4926a0dd407afdca7fdebd2fbc879101bcb78ef3b7da148d9b0e3f820a10d4a80d96e0a90a32e3aa1f6642
6
+ metadata.gz: ffa0a34cbbd13c1cd46b47f2ff8253ef5010bb1190c5d37ef867cc5806b0b926ff89d20ba8bed830bb934d634697680e573527e7440a0be1bf47a792455ffff0
7
+ data.tar.gz: 0a95343848316a8b90d81619ed6f2a451deddc22cafc936b553386dea89c2aa334434e3497b6b5ca839c9dd1666d60ab61f22fed1e340d54d7d35b8af15c4369
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- matic-jwt (0.3.0)
4
+ matic-jwt (1.0.0)
5
5
  activesupport
6
6
  jwt
7
7
 
@@ -1,8 +1,7 @@
1
1
  module MaticJWT
2
2
  class Authenticator
3
- TOKEN_TYPE = 'Bearer: '.freeze
4
-
5
- def initialize(header)
3
+ def initialize(header, scheme: SCHEME)
4
+ @scheme = scheme
6
5
  @token = extract_token(header)
7
6
  end
8
7
 
@@ -17,7 +16,7 @@ module MaticJWT
17
16
  private
18
17
 
19
18
  def extract_token(header)
20
- token = header.slice(TOKEN_TYPE.length..-1)
19
+ token = header.slice(@scheme.length + 1..-1)
21
20
  validate_header_presence!(token)
22
21
  token
23
22
  end
@@ -1,8 +1,17 @@
1
1
  module MaticJWT
2
2
  class Generator
3
+ def initialize(expiration: EXPIRATION)
4
+ @expiration = expiration
5
+ end
6
+
3
7
  def token_for(client_name, secret)
4
- payload = {client_name: client_name, exp: EXPIRATION.since.to_i}
8
+ payload = {client_name: client_name, exp: @expiration.since.to_i}
5
9
  JWT.encode(payload, secret, ALGORITHM)
6
10
  end
11
+
12
+ def authentication_header_for(client_name, secret, scheme: SCHEME)
13
+ token = token_for(client_name, secret)
14
+ "#{scheme} #{token}"
15
+ end
7
16
  end
8
17
  end
@@ -1,3 +1,3 @@
1
1
  module MaticJWT
2
- VERSION = '0.3.0'
2
+ VERSION = '1.0.0'
3
3
  end
data/lib/matic-jwt.rb CHANGED
@@ -8,4 +8,5 @@ require 'matic-jwt/version'
8
8
  module MaticJWT
9
9
  ALGORITHM = 'HS256'.freeze
10
10
  EXPIRATION = 1.minute
11
+ SCHEME = 'Bearer'.freeze
11
12
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: matic-jwt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yurii Danyliak
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-17 00:00:00.000000000 Z
11
+ date: 2017-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt