jwt_manager 0.0.2

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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/jwt_manager.rb +21 -0
  3. metadata +65 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 869178207476494cb961b0365a30f8e774a97696
4
+ data.tar.gz: 16c93aff847bf8969641ae2071e30a71b6de0c59
5
+ SHA512:
6
+ metadata.gz: 48d829f64d21f5532cb11bf3d99ec313dece650bb2eb0d2aaa41377c12061cc77010110df6361e86a24ad720314105fde27081c16a3d37469bc030dcc9a20475
7
+ data.tar.gz: 941f8919fba801f308972be370d9c20ebd8378ec9e23ac6e498d88de3645886d207e4851330d283ea23ec60c59f1f475f90743d7b6d91f147b4628f40748d9e8
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ class JwtManager
4
+ HS265 = 'HS256'.freeze
5
+ require 'jwt'
6
+
7
+ def initialize(secret_key_env_var_name = 'JWT_MANAGER_SHARED_SECRET')
8
+ if ENV[secret_key_env_var_name].nil?
9
+ raise ArgumentError, 'JWT Shared secret not configured.'
10
+ end
11
+ @hmac_secret = ENV[secret_key_env_var_name]
12
+ end
13
+
14
+ def encode(payload)
15
+ JWT.encode(payload, @hmac_secret, HS265)
16
+ end
17
+
18
+ def decode(token)
19
+ JWT.decode(token, @hmac_secret, true, algorithm: HS265)
20
+ end
21
+ end
metadata ADDED
@@ -0,0 +1,65 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jwt_manager
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Rafael Dalprá
8
+ - Lee Farrell
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2018-11-30 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jwt
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.5'
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.5.0
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: '1.5'
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.5.0
34
+ description: A simple gem to encapsulate JWT management functionality
35
+ email: thedalpra@gmail.com
36
+ executables: []
37
+ extensions: []
38
+ extra_rdoc_files: []
39
+ files:
40
+ - lib/jwt_manager.rb
41
+ homepage: http://rubygems.org/gems/jwt_manager
42
+ licenses:
43
+ - MIT
44
+ metadata: {}
45
+ post_install_message:
46
+ rdoc_options: []
47
+ require_paths:
48
+ - lib
49
+ required_ruby_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ required_rubygems_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ requirements: []
60
+ rubyforge_project:
61
+ rubygems_version: 2.2.2
62
+ signing_key:
63
+ specification_version: 4
64
+ summary: JWT Token Management
65
+ test_files: []