【问题标题】:Azure API management: Open API (no subscription key) still gives error 401Azure API 管理:开放 API(无订阅密钥)仍然给出错误 401
【发布时间】:2019-02-06 16:25:14
【问题描述】:

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

我已创建 API 并将其与未选中“需要订阅”并已发布的新产品相关联。但是,对该 API 的任何调用都会导致可怕的 401“由于缺少订阅密钥而拒绝访问。请确保在向 API 发出请求时包含订阅密钥。”

我错过了什么?

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

它们似乎都表明,API 是未选中“需要订阅”的已发布产品的一部分就足够了。显然肯定有别的东西,因为我在这种情况下,我仍然得到 401...

【问题讨论】:

  • 你似乎做对了一切。你能添加更多信息吗?产品属性、API 设置页面和您正在拨打的电话的屏幕截图。
  • @VitaliyKurokhtin 出于保密原因我不想发布实际 API 的屏幕截图,所以我尝试从头开始创建一个新 API,然后猜测:它可以工作......所以现在我“只”必须发现差异。
  • 好的,所以现在不做任何更改,我突然在我的原始 API 上没有得到 401。某处是否有缓存或延迟更新??
  • @JoeyCai 抱歉,但正如我所说,我没有改变任何东西,第二天它突然起作用了,所以我无法将任何答案标记为已接受。我没有解释为什么它不起作用。尽管我进行了两次和三次检查,但我没有正确测试也不是不可能的。
  • 我现在遇到了这个问题,并且有 Azure 支持的开放票证。与我一起工作的支持工程师在将问题上报给另一位工程师之前进行了屏幕共享。很可能有错误。一旦他们诊断出问题,我会更新。

标签: azure azure-api-management


【解决方案1】:

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

根据描述应如何使用不记名令牌的 RFC 6750,API 管理还返回带有 401 响应的 WWW-Authenticate 标头。 WWW-Authenticate 旨在指导客户如何构建正确授权的请求。

更多详情可以参考这个article

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    相关资源
    最近更新 更多