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