1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
# frozen_string_literal: true
module Doorkeeper
module OAuth
class Client
attr_reader :application
delegate :id, :name, :uid, :redirect_uri, :scopes, :confidential, to: :@application
def initialize(application)
@application = application
end
def self.find(uid, method = Doorkeeper.config.application_model.method(:by_uid))
return unless (application = method.call(uid))
new(application)
end
def self.authenticate(credentials, method = Doorkeeper.config.application_model.method(:by_uid_and_secret))
return if credentials.blank?
return unless (application = method.call(credentials.uid, credentials.secret))
new(application)
end
end
end
end
|