lib/prx_auth/rails/ext/controller.rb in prx_auth-rails-1.2.0 vs lib/prx_auth/rails/ext/controller.rb in prx_auth-rails-1.3.0

- old
+ new

@@ -2,18 +2,43 @@ module PrxAuth module Rails module Controller def prx_auth_token + rack_auth_token = env_prx_auth_token + return rack_auth_token if rack_auth_token.present? + + session['prx.auth'] && Rack::PrxAuth::TokenData.new(session['prx.auth']) + end + + def prx_authenticated? + !!prx_auth_token + end + + def authenticate! + return true if current_user.present? + + redirect_to PrxAuth::Rails::Engine.routes.url_helpers.new_sessions_path + end + + def current_user + return if prx_auth_token.nil? + + PrxAuth::Rails::Token.new(prx_auth_token) + end + + def sign_in_user(token) + session['prx.auth'] = token + end + + private + + def env_prx_auth_token if !defined? @_prx_auth_token @_prx_auth_token = request.env['prx.auth'] && PrxAuth::Rails::Token.new(request.env['prx.auth']) else @_prx_auth_token end - end - - def prx_authenticated? - !!prx_auth_token end end end end