class Doorkeeper::OAuth::BaseRequest

def after_successful_response

def after_successful_response
end

def authorize

def authorize
  validate
  if valid?
    before_successful_response
    @response = TokenResponse.new(access_token)
    after_successful_response
    @response
  else
    @response = ErrorResponse.from_request(self)
  end
end

def before_successful_response

def before_successful_response
end

def default_scopes

def default_scopes
  server.default_scopes
end

def find_or_create_access_token(client, resource_owner_id, scopes, server)

def find_or_create_access_token(client, resource_owner_id, scopes, server)
  @access_token = AccessToken.find_or_create_for(
    client,
    resource_owner_id,
    scopes,
    Authorization::Token.access_token_expires_in(server, client),
    server.refresh_token_enabled?)
end

def scopes

def scopes
  @scopes ||= if @original_scopes.present?
                OAuth::Scopes.from_string(@original_scopes)
              else
                default_scopes
              end
end

def valid?

def valid?
  error.nil?
end