]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/oauth_nonce.rb
Create an old_relation_member factory, and start using it for tests.
[rails.git] / app / models / oauth_nonce.rb
index 3ae50d3a4ba6ad4e06ee49f55f941bacc8b6953e..e0510dcbf85bb59a237b33fca0c8aa6a9008ece2 100644 (file)
@@ -1,14 +1,13 @@
 # Simple store of nonces. The OAuth Spec requires that any given pair of nonce and timestamps are unique.
 # Thus you can use the same nonce with a different timestamp and viceversa.
 class OauthNonce < ActiveRecord::Base
 # Simple store of nonces. The OAuth Spec requires that any given pair of nonce and timestamps are unique.
 # Thus you can use the same nonce with a different timestamp and viceversa.
 class OauthNonce < ActiveRecord::Base
-  validates_presence_of :nonce, :timestamp
-  validates_uniqueness_of :nonce, :scope => :timestamp
-
-  attr_accessible :nonce, :timestamp
+  validates :timestamp, :presence => true
+  validates :nonce, :presence => true, :uniqueness => { :scope => :timestamp }
 
   # Remembers a nonce and it's associated timestamp. It returns false if it has already been used
   def self.remember(nonce, timestamp)
 
   # Remembers a nonce and it's associated timestamp. It returns false if it has already been used
   def self.remember(nonce, timestamp)
-    oauth_nonce = OauthNonce.create(:nonce => nonce, :timestamp => timestamp)
+    return false if Time.now.to_i - timestamp.to_i > 86400
+    oauth_nonce = OauthNonce.create(:nonce => nonce, :timestamp => timestamp.to_i)
     return false if oauth_nonce.new_record?
     oauth_nonce
   end
     return false if oauth_nonce.new_record?
     oauth_nonce
   end