Class: AuthController

Inherits:
ApplicationController show all
Defined in:
app/controllers/auth_controller.rb

Instance Attribute Summary

Attributes inherited from ApplicationController

#req, #res

Instance Method Summary collapse

Methods inherited from ApplicationController

#boolean_param, #csrf_token, #delete_all_images_from_content, #delete_from_storage, #initialize, #params, #redirect_to, #render, #session, #validate!

Constructor Details

This class inherits a constructor from ApplicationController

Instance Method Details

#loginObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'app/controllers/auth_controller.rb', line 14

def 
  username = req.params['username']
  password = req.params['password']
  
  user = User.authenticate(username, password)
  if user
    # Set session keys
    session['user_id'] = user.id
    session['username'] = user.username
    session['last_active_at'] = Time.now.to_i
    
    redirect_to '/dashboard'
  else
    render 'login', title: 'Login - One-For-All', error: 'Invalid credentials'
  end
end

#logoutObject



31
32
33
34
# File 'app/controllers/auth_controller.rb', line 31

def logout
  ['user_id', :user_id, 'username', :username, 'last_active_at', :last_active_at].each { |k| session.delete(k) }
  redirect_to '/login'
end

#show_loginObject



4
5
6
7
8
9
10
11
12
# File 'app/controllers/auth_controller.rb', line 4

def 
  if session['user_id']
    redirect_to '/dashboard'
    return
  end
  reason = req.params['reason']
  error = reason == 'expired' ? 'Your session has expired. Please log in again.' : nil
  render 'login', title: 'Login - One-For-All', error: error
end