Class: Kafka::Sasl::Plain
- Inherits:
-
Object
- Object
- Kafka::Sasl::Plain
- Defined in:
- lib/kafka/sasl/plain.rb
Constant Summary collapse
- PLAIN_IDENT =
"PLAIN"
Instance Method Summary collapse
- #authenticate!(host, encoder, decoder) ⇒ Object
- #configured? ⇒ Boolean
- #ident ⇒ Object
-
#initialize(logger:, authzid:, username:, password:) ⇒ Plain
constructor
A new instance of Plain.
Constructor Details
#initialize(logger:, authzid:, username:, password:) ⇒ Plain
Returns a new instance of Plain.
8 9 10 11 12 13 |
# File 'lib/kafka/sasl/plain.rb', line 8 def initialize(logger:, authzid:, username:, password:) @logger = TaggedLogger.new(logger) @authzid = authzid @username = username @password = password end |
Instance Method Details
#authenticate!(host, encoder, decoder) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/kafka/sasl/plain.rb', line 23 def authenticate!(host, encoder, decoder) msg = [@authzid, @username, @password].join("\000").force_encoding("utf-8") encoder.write_bytes(msg) begin msg = decoder.bytes raise Kafka::Error, "SASL PLAIN authentication failed: unknown error" unless msg rescue Errno::ETIMEDOUT, EOFError => e raise Kafka::Error, "SASL PLAIN authentication failed: #{e.}" end @logger.debug "SASL PLAIN authentication successful." end |
#configured? ⇒ Boolean
19 20 21 |
# File 'lib/kafka/sasl/plain.rb', line 19 def configured? @authzid && @username && @password end |
#ident ⇒ Object
15 16 17 |
# File 'lib/kafka/sasl/plain.rb', line 15 def ident PLAIN_IDENT end |