- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将 Kafka OIDC 与 Azure AD 结合使用作为 token 提供程序,但我遇到了一些奇怪的错误。
我已经阅读了许多 azure 文档页面并尝试了 https://github.com/Azure/azure-event-hubs-for-kafka 中的示例。 - 当我使用 python 和 C++ 进行测试时,所有这些都对我有用。包括 https://github.com/Azure/azure-event-hubs-for-kafka/tree/master/tutorials/oauth/python 中列出的 oauth(使用 Azure AD)示例
当我尝试使用 https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc 后面的已注册应用程序网页中的凭据时并使用 v2 端点,我最终得到 ERROR|rdkafka# Producer-1 | [thrd:app]: rdkafka# Producer-1: sasl_ssl://myhub.servicebus.windows.net:9093/bootstrap: SASL 身份验证错误: 无效的 URI: 无法确定 URI 的格式。 (处于 AUTH_REQ 状态 272 毫秒后)
。对于没有范围的 v1,错误类似 - FAIL|rdkafka# Producer-1 | [thrd:sasl_ssl://myhub.servicebus.windows.net:9093/bootstrap]: sasl_ssl://myhub.servicebus.windows.net:9093/bootstrap: SASL 身份验证错误: 无效的 URI: URI 的格式无法被确定。 (在 AUTH_REQ 状态 259 毫秒后)。
同样,我测试的所有现有示例都适合我,但没有一个使用 OIDC。我使用的配置如下 - 我应该在 sasl.oauthbearer.token.endpoint.url
、sasl.oauthbearer.config
中使用什么来完成这项工作?
conf->set("bootstrap.servers", "myhub.servicebus.windows.net:9093", errstr);
conf->set("security.protocol", "SASL_SSL", errstr);
conf->set("sasl.mechanism", "OAUTHBEARER", errstr);
conf->set("sasl.oauthbearer.method", "oidc", errstr);
conf->set("sasl.oauthbearer.client.id", "***", errstr);
conf->set("sasl.oauthbearer.client.secret", "***", errstr);
conf->set("sasl.oauthbearer.token.endpoint.url", "https://login.microsoftonline.com/***/oauth2/v2.0/token", errstr);
conf->set("sasl.oauthbearer.scope", "api://***/.default", errstr);
Confluence Kafka OIDC - https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=186877575
C++ librdkafka OIDC - https://github.com/edenhill/librdkafka/blob/b871fdabab84b2ea1be3866a2ded4def7e31b006/src/rdkafka_sasl_oauthbearer_oidc.c#L242
Github 问题 - https://github.com/Azure/azure-event-hubs-for-kafka/issues/223
使用 debug=all 进行进一步调试显示,应用程序在 SASL 身份验证序列上失败时收到了 OAUTHBEARER token 。
SASL OAUTHBEARER client in state client-first-message
Send SASL Kafka frame to broker
Sent SaslAuthenticateRequest
Received SaslAuthenticateResponse
Invalid URI: The format of the URI could not be determined.
最佳答案
好的,Azure 回应说 Kafka OIDC 没有在他们这边进行测试,并且可能不受代理支持。
但我测试了它可以与 Kafka OIDC 配合使用 - 我很快就会向他们的存储库贡献示例。
问题是使用注册应用程序的范围(api://{app-id}/.default
)与命名空间的范围(https://myhub.servicebus. windows.net/.default
) - 后一个是正确的。
这反过来又导致接收到错误的 token 类型和无效的 URI 格式 - 这里真正有帮助的是来自 confluence-kafka 的示例,不涉及任何 azure 依赖项 https://github.com/confluenceinc/confluence-kafka-python/blob/master/examples/oauth_ Producer.py
关于c++ - 如何将 librdkafka 与 OIDC 和 Azure AD 结合使用作为 OAUTHBEARER 的 token 提供程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74643469/
我想做的是- For Clients to Broker communication - use OAUTHBEARER authentication For Broker to Broker com
OAuth 服务器使用与 System.Security.Claims.ClaimTypes.Role 不同的声明类型发出角色声明: var adminRole = new Claim("Custom
我有一个可以工作的 python kafka,它是代码: class TokenProvider(object): def __init__(self,client_id,client
问题 我想将 Kafka OIDC 与 Azure AD 结合使用作为 token 提供程序,但我遇到了一些奇怪的错误。 我已经阅读了许多 azure 文档页面并尝试了 https://github.
问题 我想将 Kafka OIDC 与 Azure AD 结合使用作为 token 提供程序,但我遇到了一些奇怪的错误。 我已经阅读了许多 azure 文档页面并尝试了 https://github.
我是一名优秀的程序员,十分优秀!