Sha256: 979efa78766aaf2865a33eae92e55c0ec7704dda051fc73f7bba1047e5a8296d
Contents?: true
Size: 1.59 KB
Versions: 3
Compression:
Stored size: 1.59 KB
Contents
module SsoClyent module CurrentUserHelpers def self.included base base.send :before_filter, :sso_clyent_check_if_from_sign_up base.send :before_filter, :sso_clyent_store_return_to_url end def login_required if !current_user return respond_to do |format| format.html { redirect_to sso_login_path } format.json { render :json => { 'error' => 'Access Denied' }.to_json } end end end def current_user return nil unless session[:user_id] users = sso_clyent_user_klass uid = sso_clyent_userid if users.respond_to?(:"find_by_#{uid}") @current_user ||= users.send(:"find_by_#{uid}", session[:user_id]['uid']) end end def user_signed_in? !!current_user end def check_for_login_error api_response current_user_logout if !api_response.is_a?(Array) and api_response.try(:[],:error).try(:==,'401 Unauthorized') end def current_user_logout session[:user_id] = nil end def sso_clyent_user_klass SsoClyent.user_class end def sso_clyent_userid SsoClyent.unique_id end def sso_clyent_check_if_from_sign_up if from_sign_up = params.delete(:from_sign_up) login_required begin process_params_from_sign_up(from_sign_up) rescue end unless performed? return redirect_to(url_for(params)) end end end def sso_clyent_store_return_to_url (session['for_sign_up'] ||= {})['send_back_to'] = session['return-to-url'] = request.url end end end
Version data entries
3 entries across 3 versions & 1 rubygems