module DeviseJwtAuth::TokenFactory

A token management factory which allow generate token objects and check them.

Public Class Methods

create_access_token(payload) click to toggle source
# File lib/devise_jwt_auth/token_factory.rb, line 16
def self.create_access_token(payload)
  if payload[:exp].blank? && payload['exp'].blank?
    payload[:exp] = (Time.zone.now + DeviseJwtAuth.access_token_lifespan).to_i
  end

  JWT.encode payload, DeviseJwtAuth.access_token_encryption_key
end
create_refresh_token(payload) click to toggle source
# File lib/devise_jwt_auth/token_factory.rb, line 8
def self.create_refresh_token(payload)
  if payload[:exp].blank? && payload['exp'].blank?
    payload[:exp] = (Time.zone.now + DeviseJwtAuth.refresh_token_lifespan).to_i
  end

  JWT.encode payload, DeviseJwtAuth.refresh_token_encryption_key
end
decode_access_token(token) click to toggle source
# File lib/devise_jwt_auth/token_factory.rb, line 38
def self.decode_access_token(token)
  JWT.decode(token, DeviseJwtAuth.access_token_encryption_key).first
rescue JWT::ExpiredSignature
  {}
rescue JWT::DecodeError
  {}
rescue JWT::VerificationError
  {}
rescue NoMethodError
  {}
rescue TypeError
  {}
end
decode_refresh_token(token) click to toggle source
# File lib/devise_jwt_auth/token_factory.rb, line 24
def self.decode_refresh_token(token)
  JWT.decode(token, DeviseJwtAuth.refresh_token_encryption_key).first
rescue JWT::ExpiredSignature
  {}
rescue JWT::DecodeError
  {}
rescue JWT::VerificationError
  {}
rescue NoMethodError
  {}
rescue TypeError
  {}
end