module GDS::SSO::ControllerMethods
Public Class Methods
Source
# File lib/gds-sso/controller_methods.rb, line 15 def self.included(base) base.rescue_from PermissionDeniedError do |e| if GDS::SSO::Config.api_only render json: { message: e.message }, status: :forbidden else render "authorisations/unauthorised", layout: "unauthorised", status: :forbidden, locals: { message: e.message } end end unless GDS::SSO::Config.api_only base.helper_method :user_signed_in? base.helper_method :current_user end end
Public Instance Methods
Source
# File lib/gds-sso/controller_methods.rb, line 38 def authenticate_user! warden.authenticate! end
Source
# File lib/gds-sso/controller_methods.rb, line 50 def current_user warden.user if user_signed_in? end
Source
# File lib/gds-sso/controller_methods.rb, line 42 def user_remotely_signed_out? warden && warden.authenticated? && warden.user.remotely_signed_out? end
Source
# File lib/gds-sso/controller_methods.rb, line 46 def user_signed_in? warden && warden.authenticated? && !warden.user.remotely_signed_out? end
Source
# File lib/gds-sso/controller_methods.rb, line 58 def warden request.env["warden"] end