Answers:
在HTTP中,有一个Authorization
标头。
尽管通常用于提供用户凭据,但对于API,它可以包含客户端的ID和相应的API密钥。
有几个好处:
来自不同框架的支持。许多框架会期望Authorization
标头进行身份验证。不使用它会强制编写其他代码,以使用自定义值为那些框架提供数据。
来自不同工具的支持。例如CURL。
更少“ WTF在哪里找到/放置此API密钥?!” 来自加入团队的新开发人员(或为您的API设计新客户端的开发人员)。
然后,您可以使用HTTP状态代码定义,例如401 Unauthorized
,为此:
响应必须包含一个WWW-Authenticate标头字段。客户端可以使用合适的Authorization标头字段重复该请求。
将其移至请求的主体可能会很快变得痛苦。大多数框架和工具都无法使向请求中添加主体变得非常简单,这可能会使您的API变得比原本更加困难。