diff --git a/lib/omniauth/remote_user.rb b/lib/omniauth/remote_user.rb index 4684a9f..e621072 100644 --- a/lib/omniauth/remote_user.rb +++ b/lib/omniauth/remote_user.rb @@ -1,14 +1,8 @@ -require 'omniauth' +require 'omniauth/core' module Omniauth module Stratagies autoload :RemoteUser, 'omniauth/stratagies/remote_user' end - - module Remote_user - autoload :Model, 'omniauth/remote_user/model' - module Models - autoload :ActiveRecord, 'omniauth/remote_user/models/active_record' - end end diff --git a/lib/omniauth/strategies/remote_user.rb b/lib/omniauth/strategies/remote_user.rb index 2991470..32a6476 100644 --- a/lib/omniauth/strategies/remote_user.rb +++ b/lib/omniauth/strategies/remote_user.rb @@ -3,16 +3,31 @@ module OmniAuth class RemoteUser include OmniAuth::Strategy - option :fields, [:name, :email] - option :uid_field, :name + def validate_remote_user + if !env['HTTP_REMOTE_USER'].blank? + env['HTTP_REMOTE_USER'] + else + env['HTTP_X_FORWARDED_USER'] + end + end def request_phase + @uid = validate_remote_user + return fail!(:no_remote_user) unless @uid - end + @user_data[:name] = @uid['NAME'] + @user_data[:email] = @uid['EMAIL'] - def callback_phase + @env['omniauth.auth'] = auth_hash + @env['REQUEST_METHOD'] = 'GET' + @env['PATH_INFO'] = "#{OmniAuth.config.path_prefix}/#{name}/callback" + call_app! end + + uid { @uid['EMAIL'] } + info{ @user_data } + end end end diff --git a/lib/omniauth_remote_user.rb b/lib/omniauth_remote_user.rb index d8f0999..94e953a 100644 --- a/lib/omniauth_remote_user.rb +++ b/lib/omniauth_remote_user.rb @@ -1,3 +1,3 @@ -require 'omniauth-remote-user/version' -require 'omniauth/remote-user' +require 'omniauth_remote_user/version' +require 'omniauth/remote_user' -- libgit2 0.21.2