Module: HeimdallAuth::ControllerAdditions
- Includes:
- AuthenticationAdditions
- Defined in:
- lib/heimdall_auth/controller_additions.rb
Overview
This module is automatically included into all controllers. It adds methods like current_user but also handles auth-failure redirections
Class Method Summary collapse
Methods included from AuthenticationAdditions
#current_ability, #current_access_token, #current_environment, #current_user, #get_user_from_auth_server, #storable_location?, #store_location_in_session, #user_signed_in?
Class Method Details
.included(base) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/heimdall_auth/controller_additions.rb', line 11 def self.included(base) base.helper_method :current_user, :current_access_token, :current_environment, :user_signed_in? if base.respond_to? :helper_method base.before_action :store_location_in_session base.rescue_from CanCan::AccessDenied do |exception| user_token = params[:user_token].presence respond_to do |format| format.json { head :forbidden, content_type: 'text/html' } format.html { if current_user.nil? redirect_to new_user_session_path({user_token: user_token}) elsif current_user.is_invalid render 'application/invalid_user_data' else render 'application/not_enough_rights' end } end end end |