app/models/access_token.rb
class AccessToken < ActiveRecord::Base include Doorkeeper::OAuth::RandomString set_table_name :oauth_access_tokens belongs_to :application scope :accessible, where(:revoked_at => nil) validates :application_id, :resource_owner_id, :token, :presence => true attr_accessor :use_refresh_token before_validation :generate_token, :on => :create before_validation :generate_refresh_token, :on => :create, :if => :use_refresh_token? def self.authorized_for(application_id, resource_owner_id) accessible.where(:application_id => application_id, :resource_owner_id => resource_owner_id).first end def revoke update_attribute :revoked_at, DateTime.now end def revoked? self.revoked_at.present? end def expired? expires_in.present? && Time.now > expired_time end def accessible? !expired? && !revoked? end def scopes scope_string = self[:scopes] || "" scope_string.split(" ").map(&:to_sym) end def scopes_string self[:scopes] end def use_refresh_token? self.use_refresh_token end private def expired_time self.created_at + expires_in.seconds end def generate_refresh_token self.refresh_token = unique_random_string_for(:refresh_token) end def generate_token self.token = unique_random_string_for(:token) end end