Sha256: 206357ed21212de5dfae4cb2ff02091ece0d895bc7c6a79a984d7bb44934550b
Contents?: true
Size: 954 Bytes
Versions: 3
Compression:
Stored size: 954 Bytes
Contents
module Sorcery module Model # This module encapsulates the logic for temporary token. # A temporary token is created to identify a user in scenarios # such as reseting password and activating the user by email. module TemporaryToken def self.included(base) base.extend(ClassMethods) end # Random code, used for salt and temporary tokens. def self.generate_random_token Digest::SHA1.hexdigest( Time.now.to_s.split(//).sort_by {rand}.join ) end module ClassMethods def load_from_token(token, token_attr_name, token_expiration_date_attr) return nil if token.blank? user = find_by_sorcery_token(token_attr_name,token) if !user.blank? && !user.send(token_expiration_date_attr).nil? return Time.now.utc < user.send(token_expiration_date_attr) ? user : nil end user end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
sorcery-0.7.2 | lib/sorcery/model/temporary_token.rb |
sorcery-0.7.1 | lib/sorcery/model/temporary_token.rb |
sorcery-0.7.0 | lib/sorcery/model/temporary_token.rb |