Sha256: 0dea116c3cdad92d147880467a3cd570615e2ef1796705ffb60f941163660117
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
# Redirects after authentication process to the most appropriate origin URL. # # Possible origins (URLs to redirect to) are tried in following order: # explicit_origin # request.env['omniauth.origin'] # request.params['origin'] # default_origin # def auth_redirect_to_origin( explicit_origin, default_origin = "/" ) url = explicit_origin || request.env['omniauth.origin'] || request.params['origin'] || default_origin redirect url end def auth_login( user, opts = {} ) session[:user_id] = user.id session[:remember_me] = opts[:remember_me].present? user.authenticated!( opts ) auth_keepalive_session end def auth_logout session[:user_id] = nil session[:remember_me] = nil session.options[:expire_after] = nil end def auth_keepalive_session session.options[:expire_after] = 2592000 if session[:remember_me] end # Returns User object of the current authenticated user or +nil+. # def current_user auth_keepalive_session @current_user ||= ( session[:user_id] ? User.find( session[:user_id] ) : nil ) end # Returns +true+ if user is authenticated, +false+ otherwise. # def current_user? !current_user.nil? end # Gets or sets auth state. # 'auth state' is a one-time used Hash used to store auth system data between requests. # def auth_state( value = nil ) if value @auth_state = value session[:auth_state] = value.to_json return @auth_state end unless @auth_state @auth_state = session[:auth_state].nil? ? {} : JSON.parse( session[:auth_state] ) session[:auth_state] = nil end @auth_state end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
aerogel-users-1.4.3 | app/helpers/auth.rb |