class Trestle::Auth::Backends::Basic
Attributes
user[R]
Returns the current logged in user (after authentication).
Public Instance Methods
authenticate()
click to toggle source
Authenticates a user from the session or cookie. Called on each request via a before_action.
# File lib/trestle/auth/backends/basic.rb, line 20 def authenticate @user = find_authenticated_user || find_remembered_user end
authenticate!()
click to toggle source
Authenticates a user from a login form request.
# File lib/trestle/auth/backends/basic.rb, line 9 def authenticate! params = login_params if user = Trestle.config.auth.authenticate(params) login!(user) remember_me! if Trestle.config.auth.remember.enabled && params[:remember_me] user end end
logged_in?()
click to toggle source
Checks if there is a logged in user.
# File lib/trestle/auth/backends/basic.rb, line 25 def logged_in? !!user end
login!(user)
click to toggle source
Stores the given user in the session as logged in.
# File lib/trestle/auth/backends/basic.rb, line 30 def login!(user) session[:trestle_user] = user.id @user = user end
logout!()
click to toggle source
Logs out the current user.
# File lib/trestle/auth/backends/basic.rb, line 36 def logout! if logged_in? && Trestle.config.auth.remember.enabled Trestle.config.auth.remember.forget_me(user) cookies.delete(:trestle_remember_token) end session.delete(:trestle_user) @user = nil end
Protected Instance Methods
find_authenticated_user()
click to toggle source
# File lib/trestle/auth/backends/basic.rb, line 52 def find_authenticated_user Trestle.config.auth.find_user(session[:trestle_user]) if session[:trestle_user] end
find_remembered_user()
click to toggle source
# File lib/trestle/auth/backends/basic.rb, line 56 def find_remembered_user return unless Trestle.config.auth.remember.enabled if token = cookies.signed[:trestle_remember_token] user = Trestle.config.auth.remember.authenticate(token) login!(user) if user user end end
login_params()
click to toggle source
# File lib/trestle/auth/backends/basic.rb, line 66 def login_params controller.params.require(:user).permit! end
remember_me!()
click to toggle source
# File lib/trestle/auth/backends/basic.rb, line 47 def remember_me! Trestle.config.auth.remember.remember_me(user) cookies.signed[:trestle_remember_token] = Trestle.config.auth.remember.cookie(user) end