123456789101112131415161718192021222324252627282930313233 |
- # Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
- class Token < ActiveRecord::Base
- before_create :generate_token
- belongs_to :user
- def self.check( data )
- # fetch token
- token = Token.where( :action => data[:action], :name => data[:name] ).first
- return if !token
- # check if token is still valid
- if token.created_at < 1.day.ago
- # delete token
- token.delete
- token.save
- return
- end
- # return token if valid
- return token.user
- end
- private
- def generate_token
- begin
- self.name = SecureRandom.hex(20)
- end while Token.exists?( :name => self.name )
- end
- end
|