jot-helpers 1.0.0.beta3 → 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
  SHA256:
3
- metadata.gz: 6de59b93d0c716bca9bc2f48e52d069a1b95efffe8ea6e6ee897d6e6a5da743d
4
- data.tar.gz: 6ef5ec40bf0c95dde2cf4f443be2ee43cc461f72b1d67c4e61f9d51b0c102dbf
3
+ metadata.gz: cc26447c9872c1d17b36833b09579b6e77d3d4bfa93d5c0b9ae8363b9b09fba6
4
+ data.tar.gz: 6e1302e38689ce87a205ffbcc9baefe45b9d158c31974d0b6bf63850dc0e73a6
5
5
  SHA512:
6
- metadata.gz: 9760696c6c990e18c62982339b1cb38f605e52fb3d405ec245aad8d8b3fe314d54a8db1e585edc1984e61943b06449be7786720582a92be0c532ef7a88aeb2d3
7
- data.tar.gz: 1a959e8c812ded37bf86d1f16a81965a189f1dfb0a197280a8e4a4194193fcf4bbb9b297ea4e6a0b974e2f7aa9fd0f47bfde13af5b0ac1d804e6939825ade640
6
+ metadata.gz: 41c4c490d189fbad84250dca4174059e4476d4ae32df8a729086ef46a13875f51fe75ca3e72e002b518d48dfe95bd0ae015b6c974810de9c67e116361e9cceb9
7
+ data.tar.gz: b2b8fd2207ec30782a69f754430de4afa22b291e0c62ccfb86e87d93353f61d3dfcb6f9c47a22c24e9c03c3f9b51d3c85781cfe98e634d1abba92d16416e8621
data/README.md CHANGED
@@ -27,4 +27,11 @@ Decode a payload:
27
27
  Jot.decode("eyJhbGciOiJIUz...") # => { "user_id" => 1 }
28
28
  ```
29
29
 
30
+ Decode a payload and get the header information too:
31
+
32
+ ```ruby
33
+ Jot.original_decode("eyJhbGciOiJIUz") # => [{ "user_id" => 1 }, { "alg" => "HS256" }]
34
+
35
+ ```
36
+
30
37
  Exceptions raised for invalid / expired tokens will be the same as those raised by the JWT gem.
@@ -1,7 +1,13 @@
1
1
  class Jot
2
+ NoAuthorizationHeaderError = Class.new(StandardError)
3
+
2
4
  module Rails
3
5
  module AuthenticationHelper
4
6
  def jot_decode(request)
7
+ if request.headers["Authorization"].nil?
8
+ raise NoAuthorizationHeaderError, "no Authorization header detected. Cannot decode token."
9
+ end
10
+
5
11
  token = request.headers["Authorization"].split(" ").last
6
12
  payload, header = Jot.decode(token)
7
13
  payload
data/lib/jot/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Jot
4
- VERSION = "1.0.0.beta3"
4
+ VERSION = "1.0.0"
5
5
  end
data/lib/jot.rb CHANGED
@@ -20,6 +20,11 @@ class Jot
20
20
  end
21
21
 
22
22
  def self.decode(payload, verify: true)
23
+ data, _algorithm = original_decode(payload, verify: verify)
24
+ data
25
+ end
26
+
27
+ def self.original_decode(payload, verify: true)
23
28
  JWT.decode(payload, config.secret, verify, { algorithm: config.algorithm })
24
29
  end
25
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jot-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Bigg
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-04 00:00:00.000000000 Z
11
+ date: 2023-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -70,9 +70,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
70
70
  version: 2.6.0
71
71
  required_rubygems_version: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 1.3.1
75
+ version: '0'
76
76
  requirements: []
77
77
  rubygems_version: 3.3.16
78
78
  signing_key: