module Doorkeeper::AccessTokenMixin::ClassMethods

def matching_token_for(application, resource_owner_or_id, scopes)

Returns:
  • (Doorkeeper::AccessToken, nil) - Access Token instance or

Parameters:
  • scopes (String, Doorkeeper::OAuth::Scopes) --
  • resource_owner_or_id (ActiveRecord::Base, Integer) --
  • application (Doorkeeper::Application) --
def matching_token_for(application, resource_owner_or_id, scopes)
  resource_owner_id = if resource_owner_or_id.respond_to?(:to_key)
                        resource_owner_or_id.id
                      else
                        resource_owner_or_id
                      end
  token = last_authorized_token_for(application.try(:id), resource_owner_id)
  if token && scopes_match?(token.scopes, scopes, application.try(:scopes))
    token
  end
end