Class: Jot

Inherits:
Object
  • Object
show all
Defined in:
lib/jot.rb,
lib/jot/version.rb,
lib/jot/configuration.rb,
lib/jot/rails/authentication_helper.rb

Defined Under Namespace

Modules: Rails Classes: Configuration

Constant Summary collapse

VERSION =
"1.1.0"
NoAuthorizationHeaderError =
Class.new(StandardError)

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject (readonly)

Returns the value of attribute config.



10
11
12
# File 'lib/jot.rb', line 10

def config
  @config
end

Class Method Details

.configure(&block) ⇒ Object



13
14
15
16
# File 'lib/jot.rb', line 13

def self.configure(&block)
  @config = Configuration.new
  block.call(@config)
end

.decode(payload, verify: true) ⇒ Object



23
24
25
26
# File 'lib/jot.rb', line 23

def self.decode(payload, verify: true)
  data, _algorithm = original_decode(payload, verify: verify)
  data
end

.encode(payload) ⇒ Object



18
19
20
21
# File 'lib/jot.rb', line 18

def self.encode(payload)
  exp = payload[:exp] || Time.now + config.expiration_time_in_seconds
  JWT.encode(payload.merge(exp: exp.to_i), config.secret, config.algorithm)
end

.original_decode(payload, verify: true) ⇒ Object



28
29
30
# File 'lib/jot.rb', line 28

def self.original_decode(payload, verify: true)
  JWT.decode(payload, config.secret, verify, { algorithm: config.algorithm })
end