繁体   English   中英

对于不需要订阅的产品中的端点,Azure API 管理中的 SubscriptionKey 无效?

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

我对 Azure API 管理有一个非常奇怪的问题,我似乎没有弄清楚......

我们有一个 API 操作,它是与不需要订阅的产品链接的 APIM API 的一部分。 目的是这个 API 端点对消费者公开可用,不需要任何订阅密钥、标头等......

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

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

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

应用洞察视图

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

错误的产品

写下问题两分钟后,您就会有自己的见解……我检查了代码,并向该特定调用添加了一个 SubscriptionKey 标头(由于配置问题)。 并且该订阅密钥显然正在链接到特定产品(这确实需要更多授权)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM