gpt4 book ai didi

azure - 我可以使用 OAuth token 作为 Ocp-Apim-Subscription-Key 的替代品吗?

转载 作者:行者123 更新时间:2023-12-02 23:46:14 26 4
gpt4 key购买 nike

我正在考虑使用 Azure API 管理为许多后端 API 提供一致的前端。

大多数 API 使用 OAuth 2.0 应用程序流程(ClientID + 客户端 key ,后端 API 检查声明/范围)进行保护。这非常有效,但是当客户端通过 APIM 使用这些 API 时,他们需要提供 APIM 订阅 key 和 OAuth 2.0 token 。据我了解,APIM 订阅 key 用于向 APIM 标识客户端(用于速率限制、日志记录等目的),而 Token 用于后端身份验证/授权。

是否可以使用客户端 ID 来替代 APIM 订阅 key ?也就是说,客户端不需要提供 APIM 订阅 key ,并且 OAuth 2.0 token 身份用于所有 APIM 功能(例如,通过客户端 ID 限制速率)。

最佳答案

无法使用 OAuth token 来识别客户端,但您可以将其用于速率限制和日志记录(某种)。首先创建不需要订阅的新产品,添加到该产品的任何 API 都可以匿名访问。为了解决这个问题,您可以在该产品上放置 validate-jwt 策略来要求 OAuth token 并检查其声明,或者如果您真的不关心 token 内容,只想知道它在那里,您可以使用检查 header 策略.

使用策略表达式,您可以执行 context.Headers.GetValueOrDefault("Authorization").AsJwt() 将提供的 header 解析为 JWT 对象模型,检查其声明,并在按键速率限制和配额中使用它按 key 策略对每个客户端实现限制。

为了使日志记录工作,目前没有其他方法,只能依靠 log-to-eventhub 策略并自己记录必要的信息。这确实意味着您需要维护 EventHub 实例和进一步的基础设施来从中读取记录并将其存储在某个地方。一些变化将扩大日志记录功能,这将使这变得更容易。

关于azure - 我可以使用 OAuth token 作为 Ocp-Apim-Subscription-Key 的替代品吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49617794/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com