From 96c22b169ad889034040ad4819410670ad66da4f Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Fri, 30 Sep 2011 12:02:15 +0100 Subject: [PATCH] Get OAuth working, including a hack for Potlatch --- app/controllers/application_controller.rb | 9 ++++++--- config/initializers/oauth.rb | 11 +++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 config/initializers/oauth.rb diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index b9f98071c..2d137cc41 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -106,9 +106,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 +356,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 diff --git a/config/initializers/oauth.rb b/config/initializers/oauth.rb new file mode 100644 index 000000000..56dd9ff25 --- /dev/null +++ b/config/initializers/oauth.rb @@ -0,0 +1,11 @@ +require 'oauth/rack/oauth_filter' + +Rails.configuration.middleware.use OAuth::Rack::OAuthFilter + +module OAuth::RequestProxy + class RackRequest + def method + request.request_method + end + end +end -- 2.39.5