]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/oauth_nonce.rb
Improve detection of browsers needing ES6 shims
[rails.git] / app / models / oauth_nonce.rb
index 4d615dd5defcba96a238bf6cfbab81d55ff6b875..9d2773e8f346c5b8e6789c8a314020c7a39edd41 100644 (file)
@@ -1,3 +1,18 @@
+# == Schema Information
+#
+# Table name: oauth_nonces
+#
+#  id         :integer          not null, primary key
+#  nonce      :string
+#  timestamp  :integer
+#  created_at :datetime
+#  updated_at :datetime
+#
+# Indexes
+#
+#  index_oauth_nonces_on_nonce_and_timestamp  (nonce,timestamp) UNIQUE
+#
+
 # 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
@@ -6,8 +21,11 @@ class OauthNonce < ActiveRecord::Base
 
   # 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
 end