Class: UcbRails::SessionsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- UcbRails::SessionsController
- Defined in:
- app/controllers/ucb_rails/sessions_controller.rb
Overview
Manages starting and ending of sessions, i.e., logging in and out.
Instance Method Summary collapse
-
#create ⇒ nil
Login user after authentication by provider.
-
#destroy ⇒ nil
Log user out.
-
#failure ⇒ nil
Handler for authentication failure.
-
#new ⇒ nil
Redirects to authentication provider.
-
#not_authorized ⇒ nil
Action called when unauthorized access attempted.
Instance Method Details
#create ⇒ nil
Login user after authentication by provider
17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/controllers/ucb_rails/sessions_controller.rb', line 17 def create uid = request.env['omniauth.auth'].uid session[:omniauth_provider] = request.env['omniauth.auth'].provider if user_session_manager.login(uid) session[:uid] = uid redirect_to session[:original_url] || root_path else redirect_to end end |
#destroy ⇒ nil
Log user out
32 33 34 35 36 37 |
# File 'app/controllers/ucb_rails/sessions_controller.rb', line 32 def destroy user_session_manager.logout(current_user) provider = session[:omniauth_provider] reset_session redirect_to redirect_url(provider) end |
#failure ⇒ nil
Handler for authentication failure.
49 50 51 52 |
# File 'app/controllers/ucb_rails/sessions_controller.rb', line 49 def failure Rails.logger.debug("Authentication Failed for: #{request.env['omniauth.auth']}") render(:text => "Not Authorized", :status => 401) end |
#new ⇒ nil
Redirects to authentication provider
9 10 11 12 |
# File 'app/controllers/ucb_rails/sessions_controller.rb', line 9 def new provider = UcbRails[:omniauth_provider] || :cas redirect_to "/auth/#{provider}" end |
#not_authorized ⇒ nil
Action called when unauthorized access attempted
42 43 44 |
# File 'app/controllers/ucb_rails/sessions_controller.rb', line 42 def render(:text => "Not Authorized", :status => 401) end |