jot-helpers 1.0.0.beta1
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 +7 -0
- data/.rspec +1 -0
- data/README.md +30 -0
- data/Rakefile +4 -0
- data/lib/jot/configuration.rb +7 -0
- data/lib/jot/rails/authentication_helper.rb +11 -0
- data/lib/jot/version.rb +5 -0
- data/lib/jot.rb +25 -0
- data/sig/jot.rbs +4 -0
- metadata +80 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5dcde07a6ba725c5951e5d4ab452ffb1e7cd671a447cf0cdc0c42594c36f1627
|
4
|
+
data.tar.gz: 8fadc144567b415ae381ce4b412f4f2a2a4649f3ac75d232e6778047a5093185
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b8bddc2c27c5edc08e629a500a36f32843e58e7550fcd4503d94b6e15aae56709a85df0b5faf426d9e7cb0460a0fbe213d306c2887d2eb96e1025150ed3611ab
|
7
|
+
data.tar.gz: f2b30a100261522e6e39f3aff5977cde6576ca4bcdda7459e7cdd38810f709cdcd05a569371364c2ed20f747f1ba316747c28459c5b57e9ac0adceaf63c0ce8e
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--require spec_helper
|
data/README.md
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# Jot
|
2
|
+
|
3
|
+
A light wrapper around the [JWT gem](https://github.com/jwt/ruby-jwt).
|
4
|
+
|
5
|
+
## Setup
|
6
|
+
|
7
|
+
Configure the gem:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
Jot.configure do |config|
|
11
|
+
config.algorithm = "HS256"
|
12
|
+
config.secret = # Something long and complex, such as a value generated by SecureRandom.hex(32)
|
13
|
+
end
|
14
|
+
```
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
|
18
|
+
Encode a payload:
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
JOT.encode({ user_id: 1 }) # => "eyJhbGciOiJIUz..."
|
22
|
+
```
|
23
|
+
|
24
|
+
Decode a payload:
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
JOT.decode("eyJhbGciOiJIUz...") # => { "user_id" => 1 }
|
28
|
+
```
|
29
|
+
|
30
|
+
Exceptions raised for invalid / expired tokens will be the same as those raised by the JWT gem.
|
data/Rakefile
ADDED
data/lib/jot/version.rb
ADDED
data/lib/jot.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "jwt"
|
4
|
+
require_relative "jot/version"
|
5
|
+
require_relative "jot/configuration"
|
6
|
+
require_relative "jot/rails/authentication_helper"
|
7
|
+
|
8
|
+
class Jot
|
9
|
+
class << self
|
10
|
+
attr_reader :config
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.configure(&block)
|
14
|
+
@config = Configuration.new
|
15
|
+
block.call(@config)
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.encode(payload)
|
19
|
+
JWT.encode(payload, config.secret, config.algorithm)
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.decode(payload, verify: true)
|
23
|
+
JWT.decode(payload, config.secret, verify, { algorithm: config.algorithm })
|
24
|
+
end
|
25
|
+
end
|
data/sig/jot.rbs
ADDED
metadata
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jot-helpers
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0.beta1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ryan Bigg
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-07-03 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: jwt
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.0'
|
41
|
+
description: Provides helper methods for working with JSON Web Tokens (JWTs)
|
42
|
+
email:
|
43
|
+
- me@ryanbigg.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- ".rspec"
|
49
|
+
- README.md
|
50
|
+
- Rakefile
|
51
|
+
- lib/jot.rb
|
52
|
+
- lib/jot/configuration.rb
|
53
|
+
- lib/jot/rails/authentication_helper.rb
|
54
|
+
- lib/jot/version.rb
|
55
|
+
- sig/jot.rbs
|
56
|
+
homepage: https://github.com/radar/jwt
|
57
|
+
licenses: []
|
58
|
+
metadata:
|
59
|
+
homepage_uri: https://github.com/radar/jwt
|
60
|
+
source_code_uri: https://github.com/radar/jwt
|
61
|
+
post_install_message:
|
62
|
+
rdoc_options: []
|
63
|
+
require_paths:
|
64
|
+
- lib
|
65
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 2.6.0
|
70
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 1.3.1
|
75
|
+
requirements: []
|
76
|
+
rubygems_version: 3.3.16
|
77
|
+
signing_key:
|
78
|
+
specification_version: 4
|
79
|
+
summary: Provides helper methods for working with JSON Web Tokens (JWTs)
|
80
|
+
test_files: []
|