module Credible::Session

Public Instance Methods

access_token() click to toggle source
# File lib/credible/session.rb, line 12
def access_token
  payload = {
    data: access_token_data,
    iss: Rails.application.class.module_parent_name,
    iat: Time.now.to_i,
    exp: Time.now.to_i + 4 * 3600
  }
  JWT.encode payload, Rails.application.secrets.secret_key_base, 'HS256' # [1]
end
authenticate(params) click to toggle source
# File lib/credible/session.rb, line 34
def authenticate(params)
  user = ::User.authenticate(params)
  new(user: user)
end
refresh_token() click to toggle source
# File lib/credible/session.rb, line 22
def refresh_token
  payload = {
    data: refresh_token_data,
    iss: Rails.application.class.module_parent_name,
    iat: Time.now.to_i,
    exp: Time.now.to_i + 14 * 24 * 3600
  }
  JWT.encode payload, Rails.application.secrets.secret_key_base, 'HS256' # [1]
end

Private Instance Methods

access_token_data() click to toggle source
# File lib/credible/session.rb, line 42
def access_token_data
  {
    session_id: id,
    user_id: user.id,
    user: {
      id: user.id,
      email: user.email
    }
  }
end
refresh_token_data() click to toggle source
# File lib/credible/session.rb, line 53
def refresh_token_data
  {
    session_id: id
  }
end