Sha256: 5d59cefa077f9a8f87d49ba4f3e52e16e86426284cab21cf10dd87dee61ff013
Contents?: true
Size: 1.27 KB
Versions: 2
Compression:
Stored size: 1.27 KB
Contents
class Devise::CasSessionsController < Devise::SessionsController unloadable def new unless returning_from_cas? redirect_to(cas_login_url) end end def service warden.authenticate!(:scope => resource_name) if params[:redirect] return redirect_to params[:redirect] end return redirect_to after_sign_in_path_for(resource_name) end def unregistered end def destroy # if :cas_create_user is false a CAS session might be open but not signed_in # in such case we destroy the session here if signed_in?(resource_name) sign_out(resource_name) else reset_session end redirect_to(::Devise.cas_client.logout_url) end private def returning_from_cas? params[:ticket] || request.referer =~ /^#{::Devise.cas_client.cas_base_url}/ end def cas_return_to_url resource_or_scope = ::Devise.mappings.keys.first rescue 'user' session["#{resource_or_scope}_return_to"].nil? ? '/' : session["#{resource_or_scope}_return_to"].to_s end def cas_login_url login_url = ::Devise.cas_client.add_service_to_login_url(::Devise.cas_service_url(request.url, devise_mapping)) redirect_url = "&redirect=#{cas_return_to_url}" return "#{login_url}#{redirect_url}" end helper_method :cas_login_url end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
devise_bushido_authenticatable-1.0.0 | app/controllers/devise/cas_sessions_controller.rb |
devise_bushido_authenticatable-1.0.0.alpha10 | app/controllers/devise/cas_sessions_controller.rb |