Class: UberLogin::SessionManager

Inherits:
Object
  • Object
show all
Defined in:
lib/uber_login/session_manager.rb

Instance Method Summary collapse

Constructor Details

#initialize(session, request) ⇒ SessionManager

Returns a new instance of SessionManager.



10
11
12
13
# File 'lib/uber_login/session_manager.rb', line 10

def initialize(session, request)
  @session = session
  @request = request
end

Instance Method Details

#clearObject

Clears :uid and :ulogin session variables



24
25
26
27
# File 'lib/uber_login/session_manager.rb', line 24

def clear
  @session.delete :uid
  @session.delete :ulogin
end

#login(uid, composite) ⇒ Object

Sets the :uid and :ulogin session variables



17
18
19
20
# File 'lib/uber_login/session_manager.rb', line 17

def (uid, composite)
  @session[:uid] = uid
  @session[:ulogin] = TokenEncoder.encode_array(composite) if UberLogin.configuration.strong_sessions
end

#valid?Boolean

Returns true if the session is considered valid from TokenEncoder validation rules

Returns:

  • (Boolean)


31
32
33
34
35
36
# File 'lib/uber_login/session_manager.rb', line 31

def valid?
  token_row = Storage.find_composite(@session[:uid], @session[:ulogin])
  TokenValidator.new(TokenEncoder.token(@session[:ulogin]), @request).valid?(token_row)
rescue
  false
end