diff --git a/lib/omniauth/remote-user.rb b/lib/omniauth/remote-user.rb index b2d2514..eeffcc1 100644 --- a/lib/omniauth/remote-user.rb +++ b/lib/omniauth/remote-user.rb @@ -3,6 +3,6 @@ require 'json' module OmniAuth module Strategies - autoload :RemoteUser, 'omniauth/strategies/remote_user' + autoload :RemoteUser , 'omniauth/strategies/remote_user' end end diff --git a/lib/omniauth/strategies/remote_user.rb b/lib/omniauth/strategies/remote_user.rb index 4e476cf..e50f232 100644 --- a/lib/omniauth/strategies/remote_user.rb +++ b/lib/omniauth/strategies/remote_user.rb @@ -8,8 +8,22 @@ module OmniAuth option :cookie, '_gitlab_session' option :internal_cookie, '_remote_user' + + def __write_file message + file = File.open("/home/git/gitlab/log/remote_user.log",'a') + file.write message + file.close + end + + def call(env) + __write_file "Call \n" + remote_user = env['HTTP_REMOTE_USER'] + + __write_file "#{remote_user}\n" + + session_user = __current_user(env) if remote_user if session_user @@ -28,14 +42,18 @@ module OmniAuth super(env) end end + end def __current_user(env) + + __write_file "__CURRENT_USER" request = Rack::Request.new(env) request.cookies.has_key?(options.internal_cookie) && request.cookies[options.internal_cookie] end def __logout(env) + __write_file "__LOGOUT" request = Rack::Request.new(env) response = redirect_if_not_logging_in(request, request.path) if response @@ -45,9 +63,10 @@ module OmniAuth end end - def __login(env, uid) + def __login(env, uid) + __write_file "__LOGIN" request = Rack::Request.new(env) - response = redirect_if_not_logging_in(request, '/auth/remoteuser') + response = redirect_if_not_logging_in(request, '/users/auth/RemoteUser') if response response.set_cookie(options.internal_cookie, uid) response @@ -55,9 +74,11 @@ module OmniAuth end def redirect_if_not_logging_in(request, url) + puts "__redirect_if_not_loggin_in" + if ! [ - '/auth/remoteuser', - '/auth/remoteuser/callback' + '/users/auth/RemoteUser', + '/users/auth/RemoteUser/callback' ].include?(request.path_info) response = Rack::Response.new response.redirect url @@ -71,6 +92,7 @@ module OmniAuth info do user_data = request.env['HTTP_REMOTE_USER_DATA'] + __write_file "#{user_data} \n" if user_data data = JSON.parse(user_data) data['nickname'] = data['name'] @@ -81,7 +103,9 @@ module OmniAuth end def request_phase - form = OmniAuth::Form.new(:url => callback_path) + __write_file "request phase\n" + + form = OmniAuth::Form.new(:url => "RemoteUser/callback") form.html '' form.to_response end -- libgit2 0.21.2