matic-jwt 0.3.0 → 1.0.0

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: 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