class JWTF::Encode

Attributes

config[R]

Public Class Methods

new(config) click to toggle source
# File lib/jwtf/encode.rb, line 8
def initialize(config)
  @config = config

  if @config.exp_period
    @exp_period = JWTF::Period.new(config.exp_period)
  end
end

Public Instance Methods

call(params = {}) click to toggle source
# File lib/jwtf/encode.rb, line 16
def call(params = {})
  payload = config.payload.call(params)

  add_iat_claim(payload) if use_iat_claim
  add_exp_claim(payload) if expiration_date?
  ::JWT.encode(payload, secret, algorithm)
end

Private Instance Methods

add_exp_claim(payload) click to toggle source
# File lib/jwtf/encode.rb, line 38
def add_exp_claim(payload)
  exp_in_seconds = @exp_period.in_seconds
  payload['exp'] = Time.now.to_i + exp_in_seconds
end
add_iat_claim(payload) click to toggle source
# File lib/jwtf/encode.rb, line 30
def add_iat_claim(payload)
  payload[:iat] = Time.now.to_i
end
expiration_date?() click to toggle source
# File lib/jwtf/encode.rb, line 34
def expiration_date?
  @exp_period
end