X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/aa1fb6dbb8c2e71b8ce8c231ae1272a2dfebd75a..8f57efe850bf9805d9bfb073d16d4cf1d06882f5:/app/models/oauth_nonce.rb?ds=sidebyside diff --git a/app/models/oauth_nonce.rb b/app/models/oauth_nonce.rb index 0952f068e..e08121cfc 100644 --- a/app/models/oauth_nonce.rb +++ b/app/models/oauth_nonce.rb @@ -2,7 +2,7 @@ # # Table name: oauth_nonces # -# id :integer not null, primary key +# id :bigint(8) not null, primary key # nonce :string # timestamp :integer # created_at :datetime @@ -15,15 +15,17 @@ # 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 +class OauthNonce < ApplicationRecord 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) 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