class OauthToken < ActiveRecord::Base
belongs_to :client_application
belongs_to :user
+
+ scope :authorized, where("authorized_at IS NOT NULL and invalidated_at IS NULL")
+
validates_uniqueness_of :token
- validates_presence_of :client_application, :token, :secret
- before_validation_on_create :generate_keys
+ validates_presence_of :client_application, :token
+
+ before_validation :generate_keys, :on => :create
def invalidated?
invalidated_at != nil
end
def invalidate!
- update_attribute(:invalidated_at, Time.now)
+ update_attributes({
+ :invalidated_at => Time.now
+ }, :without_protection => true)
end
def authorized?
protected
def generate_keys
- @oauth_token = client_application.oauth_server.generate_credentials
- self.token = @oauth_token[0]
- self.secret = @oauth_token[1]
+ self.token = OAuth::Helper.generate_key(40)[0,40]
+ self.secret = OAuth::Helper.generate_key(40)[0,40]
end
end