remote_user.rb
755 Bytes
module OmniAuth
module Stratagies
class RemoteUser
include OmniAuth::Strategy
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
@user_data = {}
@uid = validate_remote_user
return fail!(:no_remote_user) unless @uid
@user_data[:name] = @uid['NAME']
@user_data[:email] = @uid['EMAIL']
@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