Azure API管理:打开API(无订阅密钥)仍然给出错误401



我想设置一个开放的API,即不需要订阅密钥的API。

我已经创建了API,并将其关联到一个未选中"需要订阅"并已发布的新产品。然而,任何对此API的调用都会导致可怕的401"由于缺少订阅密钥,访问被拒绝。在向API发出请求时,请确保包含订阅密钥。">

我错过了什么?

在将此标记为重复之前:我已经搜索了类似的问题:

  • Azure Api管理是否可以禁用订阅密钥
  • 是否可以在没有订阅密钥的情况下调用Azure API Rest url
  • 通过Azure API管理访问API,无需设置Ocp-Apim-Subscription-Key
  • Azure API管理器将所有内容公开,去掉Ocp-Apim-Subscription-Key

它们似乎都表明API是已发布产品的一部分,其中"需要订阅"未被选中就足够了。显然,肯定还有其他事情,因为我在这种情况下,我仍然得到401…

您可以使用<choose>策略来检测令牌是否无效,如果是,则返回401响应。

根据描述应如何使用承载令牌的RFC6750,API管理还返回带有401响应的WWW-Authenticate报头。WWW-Authenticate旨在指示客户端如何构造适当授权的请求。

有关更多详细信息,您可以参考本文。

最新更新