Class: UberLogin::CookieManager

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

Instance Method Summary collapse

Constructor Details

#initialize(cookies, request) ⇒ CookieManager

Returns a new instance of CookieManager.



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

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

Instance Method Details

#clearObject

Clears :uid and :ulogin cookies



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

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

#login_cookies?Boolean

Returns true if the :uid and :ulogin cookies are set

Returns:

  • (Boolean)


40
41
42
# File 'lib/uber_login/cookie_manager.rb', line 40

def 
  @cookies[:uid] and @cookies[:ulogin]
end

#persistent_login(uid, composite) ⇒ Object

Sets the :uid and :ulogin cookies for next login



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

def (uid, composite)
  set_cookie(:uid, uid)
  set_cookie(:ulogin, TokenEncoder.encode_array(composite))
end

#valid?Boolean

Returns true if cookies are considered valid from TokenEncoder validation rules

Returns:

  • (Boolean)


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

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