SubscriptionKey在 Azure API 管理中对不需要订阅的产品中的终结点无效?

SubscriptionKeyInvalid in Azure API Management for an endpoint in a product that does not require subscription?

提问人:Sam Vanhoutte 提问时间:12/17/2022 更新时间:12/17/2022 访问量:91

问:

我在 Azure API 管理方面遇到了一个非常奇怪的问题,我似乎没有弄清楚......

我们有一个 API 操作,它是 APIM API 的一部分,该 API 与不需要订阅的产品链接。其目的是使此 API 终结点对使用者公开可用,而无需任何订阅密钥、标头等...

  • 当我从 Postman 调用此端点时,它可以正常工作。
  • 当我只是在私人浏览器会话中对端点执行任何操作时(因此在标头等中没有添加任何内容),它可以工作。GET
  • 当我从 Azure APIM 门户执行 API 操作时,无需选择产品,它就可以正常工作。

但是,当我从 Azure 应用服务中已部署的 Web 应用调用终结点时,我得到 401 返回?!
所以,显而易见的是,有些东西配置错误,但我无法理解它......

在链接到 APIM 实例的 Application Insights 中查看时,这是跟踪,我看到:

App insights view

但是在下面的屏幕截图中,我得到了不匹配的提示,尽管我不明白这是怎么发生的......如果我将完整的 url 复制到浏览器专用会话,我会得到一个 200 的成功数据。
但 401 的根本原因可能在黄框中,那里有一个 API 产品 ,确实需要订阅(并配置了 JWT 令牌策略)。因此,我现在需要弄清楚的是,我如何确保 APIM 将我的传入请求链接到正确的产品,这不需要订阅。有什么提示吗?
dev-product-admin

Wrong product

azure azure-appservice api-security

评论


答:

0赞 Sam Vanhoutte 12/17/2022 #1

写下问题两分钟后,你会得到自己的见解...... 我检查了代码,并将 SubscriptionKey 标头添加到该特定调用(由于配置问题)。而该订阅密钥显然是链接到特定产品(这确实需要更多授权)