class OmniAuth::Strategies::RemoteUser
Public Instance Methods
__current_user(env)
click to toggle source
# File lib/omniauth/strategies/remote_user.rb, line 32 def __current_user(env) request = Rack::Request.new(env) request.cookies.has_key?(options.internal_cookie) && request.cookies[options.internal_cookie] end
__login(env, uid)
click to toggle source
# File lib/omniauth/strategies/remote_user.rb, line 47 def __login(env, uid) request = Rack::Request.new(env) response = redirect_if_not_logging_in(request,_auth_path(request) ) if response response.set_cookie(options.internal_cookie, {value: uid, path: "#{request.script_name}", httponly: true}) response.finish end end
__logout(env)
click to toggle source
# File lib/omniauth/strategies/remote_user.rb, line 37 def __logout(env) request = Rack::Request.new(env) request.session.clear response = redirect_if_not_logging_in(request, request.path ) if response response.delete_cookie(options.internal_cookie , path: "#{request.script_name}" ) response.finish end end
_auth_path(request)
click to toggle source
# File lib/omniauth/strategies/remote_user.rb, line 93 def _auth_path(request) "#{request.script_name}#{path_prefix}/RemoteUser" end
_callback_path(request)
click to toggle source
# File lib/omniauth/strategies/remote_user.rb, line 89 def _callback_path(request) "#{_auth_path(request)}/callback" end
call(env)
click to toggle source
Calls superclass method
# File lib/omniauth/strategies/remote_user.rb, line 8 def call(env) remote_user = env['HTTP_REMOTE_USER'] session_user = __current_user(env) if remote_user if session_user if remote_user == session_user super(env) else __logout(env) end else __login(env, remote_user) end else if session_user __logout(env) else super(env) end end end
redirect_if_not_logging_in(request, url)
click to toggle source
# File lib/omniauth/strategies/remote_user.rb, line 56 def redirect_if_not_logging_in(request, url) if ! [ _auth_path(request), _callback_path(request) ].include?(request.path_info) response = Rack::Response.new response.redirect url response end end
request_phase()
click to toggle source
# File lib/omniauth/strategies/remote_user.rb, line 85 def request_phase redirect _callback_path(request) end