Sha256: a81a2614065319cf428050dddf931dbcaa103f16e0321895b4da04bae00f1bf8

Contents?: true

Size: 1.26 KB

Versions: 14

Compression:

Stored size: 1.26 KB

Contents

require 'active_support/concern'
require 'token_authenticate_me/concerns/controllers/authenticateable'
require 'token_authenticate_me/session_authentication'

# This module provides cookie based session authentication for server rendered pages.
# If using this module, make sure CSRF is enabled to prevent CSRF attacks.

module TokenAuthenticateMe
  module Concerns
    module Controllers
      module SessionAuthenticateable
        extend ActiveSupport::Concern

        include TokenAuthenticateMe::Concerns::Controllers::Authenticateable

        protected

        def authenticated_session
          @session ||= authenticate_with_session
        end

        def authenticate_with_session
          session_authentication = TokenAuthenticateMe::SessionAuthentication.new(controller: self)
          session_authentication.authenticate
        end

        def return_to_url
          session[:return_to]
        end

        def save_return_to_url
          session[:return_to] = request.url
        end

        def redirect_to_login
          redirect_to login_url
        end

        def render_unauthorized
          save_return_to_url
          flash.now[:error] = "You must be logged in to access this section"
          redirect_to_login
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
token_authenticate_me-0.9.2 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.11.2 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.11.1 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.11.0 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.10.0 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.9.1 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.9.0 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.8.0 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.7.0 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.6.0 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.5.7 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.5.6 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.5.5 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb
token_authenticate_me-0.5.4 lib/token_authenticate_me/concerns/controllers/session_authenticateable.rb