我应该使用 API 密钥的授权标头吗

Kye*_*Kye 5 api rest authorization azure-api-management azure-api-apps

我们将通过 Azure API 管理公开自定义构建的 API (.NET)。我们希望尽可能遵守众所周知的标准,因此我们不会让 API 消费者感到惊讶。API 通过用户从 APIM 开发者门户生成的 API 密钥来保护。

我的理解是 Authorization 标头应该用于身份验证和授权目的。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization

但奇怪的是,API-Key 并未包含在身份验证方案中。

https://www.iana.org/assignments/http-authschemes/http-authschemes.xhtml#authschemes

API 使用者是否应该使用授权标头进行身份验证?

例如Authorization: API-Key xxx-xxx

或者自定义标头。

例如my-key:xxx-xxx

小智 1

从技术上讲,如果授权标头中有令牌,则不需要任何 API 密钥。我假设 API 密钥/客户端和密钥已用于生成令牌。当客户端通过授权标头发送令牌时,API 所有者会验证您的令牌并返回响应。