Azure API管理+服务总线主题:错误40104:无效的授权令牌访问者

时间:2019-12-05 17:17:00

标签: azure azureservicebus azure-api-management azure-managed-identity

我正在尝试通过Azure API管理将推送消息发布到Azure Service Bus主题。我可以使用SAS身份验证来做到这一点,但是现在我想依靠托管服务身份。

我可以使用以下策略检索OAuth令牌:

<authentication-managed-identity resource="https://my-namespace.windows.net/" output-token-variable-name="sb-msi-access-token" ignore-error="false" />

但是当我将消息推送到主题(在https://my-namespace.servicebus.windows.net/mytopic/messages上时,我却感到沮丧 40104:无效的授权令牌受众

如果我尝试为以下资源请求令牌:https://my-namespace.servicebus.windows.net/my-topic 甚至https://my-namespace.servicebus.windows.net/my-topic/messages,我都会收到以下错误消息:

在租户中找不到名为https://my-namespace.servicebus.windows.net/orders的资源主体

知道我缺少什么吗?

2 个答案:

答案 0 :(得分:0)

这不是一个确切的答案,但是如何创建一个Azure函数来负责添加所需的推送消息呢?您可以使用http触发器并使用API​​M将请求路由到该触发器,也可以将托管身份分配给功能应用程序。

答案 1 :(得分:0)

发现了问题所在:我太快阅读了文档,似乎我指定了错误的资源。

最后,无论服务总线名称空间或队列/主题如何,指定的资源都必须为 https://servicebus.azure.net

<authentication-managed-identity resource="https://servicebus.azure.net/" output-token-variable-name="sb-msi-access-token" ignore-error="false" />