我尝试使用C#生成消息到Apache Kafka。但是我注意到有一个名为sasl.login.callback.handler.class的配置应该在Kafka生产者客户端中配置。但是我找不到正确的位置来配置它。有人可以帮助吗?非常感谢!
我注意到使用C#的生产者客户端与C++/librdkafka相关。所以我将它们添加到标题中。我在librdkafka(https://github.com/confluentinc/librdkafka/blob/master/CONFIGURATION.md)中找不到sasl.login.callback.handler.class。
以下是我的配置:
private ProducerConfig _config = new ProducerConfig();
_config.BootstrapServers = server;
_config.ClientId = clientId;
_config.SecurityProtocol = SecurityProtocol.SaslPlaintext;
_config.SaslMechanism = SaslMechanism.OAuthBearer;
_config.SaslOauthbearerClientId = "MyClientId";
_config.SaslOauthbearerClientSecret = "MyClientSecret";
_config.SaslOauthbearerScope = "ServerClientId/.default";
_config.SaslOauthbearerTokenEndpointUrl = "https://login.microsoftonline.com/MyTenantId/oauth2/v2.0/token";
字符串
需要找到一个解决方案,使用C#/C++来生成带有OAuth AAD令牌的msg到Apache Kafka。
1条答案
按热度按时间vm0i2vca1#
我已经找到解决办法了。
librdkafka不需要设置sasl.login.callback.handler.class,但需要将sasl.oauthbearer.method设置为OIDC。
我已经用C#测试过了,它很好用。
以下是我对OAuth AAD的看法:
字符串