module BackOffice::Auth

Private Instance Methods

authorize() click to toggle source
# File lib/back_office/auth.rb, line 40
def authorize
  return true if authorized?(controller_name, action_name, resource)

  respond_to do |format|
    format.any(:js, :json) { head :unauthorized }
    format.html { redirect_to(root_path, alert: t(:unauthorized)) }
  end
end
current_device() click to toggle source
# File lib/back_office/auth.rb, line 14
def current_device
  @current_device ||= Device.current(device_token, device_attributes)
end
device_attributes() click to toggle source
# File lib/back_office/auth.rb, line 22
def device_attributes
  {
    token:      SecureRandom.urlsafe_base64,
    user_agent: request.user_agent,
    remote_ip:  request.remote_ip
  }
end
device_token() click to toggle source
# File lib/back_office/auth.rb, line 18
def device_token
  authenticate_with_http_token { |token, _| token } || cookies.signed[:token]
end
policy() click to toggle source
# File lib/back_office/auth.rb, line 49
def policy
  @policy ||= policy_class.new(current_user)
end
policy_class() click to toggle source
# File lib/back_office/auth.rb, line 53
def policy_class
  ApplicationPolicy
end
resource() click to toggle source
# File lib/back_office/auth.rb, line 57
def resource
  nil
end
sign_in(user) click to toggle source
# File lib/back_office/auth.rb, line 30
def sign_in(user)
  current_device.update(user: user)
  cookies.signed[:token] = current_device.token
end
sign_out() click to toggle source
# File lib/back_office/auth.rb, line 35
def sign_out
  cookies.delete(:token)
  session.clear
end