lib/kafka/sasl_authenticator.rb in ruby-kafka-0.7.6.beta1 vs lib/kafka/sasl_authenticator.rb in ruby-kafka-0.7.6.beta2
- old
+ new
@@ -1,16 +1,18 @@
# frozen_string_literal: true
require 'kafka/sasl/plain'
require 'kafka/sasl/gssapi'
require 'kafka/sasl/scram'
+require 'kafka/sasl/oauth'
module Kafka
class SaslAuthenticator
def initialize(logger:, sasl_gssapi_principal:, sasl_gssapi_keytab:,
sasl_plain_authzid:, sasl_plain_username:, sasl_plain_password:,
- sasl_scram_username:, sasl_scram_password:, sasl_scram_mechanism:)
+ sasl_scram_username:, sasl_scram_password:, sasl_scram_mechanism:,
+ sasl_oauth_token_provider:)
@logger = TaggedLogger.new(logger)
@plain = Sasl::Plain.new(
authzid: sasl_plain_authzid,
username: sasl_plain_username,
@@ -29,10 +31,15 @@
password: sasl_scram_password,
mechanism: sasl_scram_mechanism,
logger: @logger,
)
- @mechanism = [@gssapi, @plain, @scram].find(&:configured?)
+ @oauth = Sasl::OAuth.new(
+ token_provider: sasl_oauth_token_provider,
+ logger: @logger,
+ )
+
+ @mechanism = [@gssapi, @plain, @scram, @oauth].find(&:configured?)
end
def enabled?
!@mechanism.nil?
end