module Lockie::ModelHelper

Public Instance Methods

auth_object() click to toggle source
# File lib/lockie/model_helper.rb, line 7
def auth_object
  @auth_object ||= Lockie.config.model_name.classify.constantize
end
create_token(payload = {}) click to toggle source
# File lib/lockie/model_helper.rb, line 13
def create_token(payload = {})
  payload = {
    aud: 'lockie-app',
    sub: id,
    sub_type: self.class.name,
  }.merge(payload)

  JWT.encode(payload, Lockie.config.jwt_secret, Lockie.config.hash_algorithm)
end
decode_token(token, secret: Lockie::config.jwt_secret) click to toggle source
# File lib/lockie/model_helper.rb, line 40
def decode_token(token, secret: Lockie::config.jwt_secret)
  JWT.decode(token, secret, true, { algorithm: Lockie.config.hash_algorithm })
end
extract_auth_id(payload) click to toggle source
# File lib/lockie/model_helper.rb, line 36
def extract_auth_id(payload)
  payload.fetch('sub') { nil }
end
find_auth(payload) click to toggle source
# File lib/lockie/model_helper.rb, line 31
def find_auth(payload)
  auth_id = extract_auth_id payload
  find auth_id
end
find_by_token(token) click to toggle source
# File lib/lockie/model_helper.rb, line 26
def find_by_token(token)
  payloads = decode_token token
  find_auth payloads.first
end