module Authentication::ByCookieToken::ModelInstanceMethods

Instance Methods

Public Instance Methods

forget_me() click to toggle source

Deletes the server-side record of the authentication token. The client-side (browser cookie) and server-side (this remember_token) must always be deleted together.

# File lib/authentication/by_cookie_token.rb, line 54
def forget_me
  self.remember_token_expires_at = nil
  self.remember_token            = nil
  save(false)
end
refresh_token() click to toggle source

refresh token (keeping same expires_at) if it exists

# File lib/authentication/by_cookie_token.rb, line 42
def refresh_token
  if remember_token?
    self.remember_token = self.class.make_token 
    save(false)      
  end
end
remember_me() click to toggle source

These create and unset the fields required for remembering users between browser closes

# File lib/authentication/by_cookie_token.rb, line 27
def remember_me
  remember_me_for 2.weeks
end
remember_me_for(time) click to toggle source
# File lib/authentication/by_cookie_token.rb, line 31
def remember_me_for(time)
  remember_me_until time.from_now.utc
end
remember_me_until(time) click to toggle source
# File lib/authentication/by_cookie_token.rb, line 35
def remember_me_until(time)
  self.remember_token_expires_at = time
  self.remember_token            = self.class.make_token
  save(false)
end
remember_token?() click to toggle source
# File lib/authentication/by_cookie_token.rb, line 21
def remember_token?
  (!remember_token.blank?) && 
    remember_token_expires_at && (Time.now.utc < remember_token_expires_at.utc)
end