X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/f0d7c4a8d6373faa02ed941452ef904ee43ec447..c485ae32490ccf98dcbea96af6218b25540f5eaa:/app/controllers/application_controller.rb diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index b9f98071c..d58bc8922 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -3,7 +3,12 @@ class ApplicationController < ActionController::Base protect_from_forgery if STATUS == :database_readonly or STATUS == :database_offline - session :off + after_filter :clear_session + wrap_parameters false + + def clear_session + session.clear + end def self.cache_sweeper(*sweepers) end @@ -30,8 +35,9 @@ class ApplicationController < ActionController::Base end end elsif session[:token] - @user = User.authenticate(:token => session[:token]) - session[:user] = @user.id + if @user = User.authenticate(:token => session[:token]) + session[:user] = @user.id + end end rescue Exception => ex logger.info("Exception authorizing user: #{ex.to_s}") @@ -106,9 +112,7 @@ class ApplicationController < ActionController::Base # is optional. def setup_user_auth # try and setup using OAuth - if Authenticator.new(self, [:token]).allow? - @user = current_token.user - else + if not Authenticator.new(self, [:token]).allow? username, passwd = get_auth_data # parse from headers # authenticate per-scheme if username.nil? @@ -358,6 +362,11 @@ private return [user, pass] end + # used by oauth plugin to set the current user + def current_user=(user) + @user=user + end + # override to stop oauth plugin sending errors def invalid_oauth_response end