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



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

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

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

但是奇怪的是,API-Key并没有被包含在认证方案中。

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

API消费者应该使用授权头进行身份验证吗?

Authorization: API-Key xxx-xxx

或自定义头。

my-key:xxx-xxx

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

最新更新