Class: SessionsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/sessions_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



7
8
9
10
11
12
13
14
15
16
# File 'app/controllers/sessions_controller.rb', line 7

def create
  user = User.find_by(email: params[:email])
  if user&.authenticate(params[:password])
    set_app_session(user)
    redirect_to root_path, notice: "Welcome back, #{user.display_name}!"
  else
    flash.now[:alert] = "Invalid email or password."
    render :new, status: :unprocessable_entity
  end
end

#destroyObject



39
40
41
42
# File 'app/controllers/sessions_controller.rb', line 39

def destroy
  clear_app_session
  redirect_to , notice: "Logged out."
end

#newObject



4
5
# File 'app/controllers/sessions_controller.rb', line 4

def new
end

#sso_continueObject

POST /sso_continue — form-based SSO from login page button



30
31
32
33
34
35
36
37
# File 'app/controllers/sessions_controller.rb', line 30

def sso_continue
  return redirect_to  unless sso_user_available?

  authenticate_sso_user!
rescue StandardError => e
  create_error_log(e)
  redirect_to , alert: "Could not continue session. Please log in."
end

#sso_loginObject

GET /sso_login — one-click SSO entry point (linked from hub app nav)



19
20
21
22
23
24
25
26
27
# File 'app/controllers/sessions_controller.rb', line 19

def 
  return redirect_to root_path if logged_in?
  return redirect_to  unless sso_user_available?

  authenticate_sso_user!
rescue StandardError => e
  create_error_log(e)
  redirect_to , alert: "Could not continue session. Please log in."
end