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