当请求 API 的自定义标头错误时,将 http 状态代码设置为 417
Posted
技术标签:
【中文标题】当请求 API 的自定义标头错误时,将 http 状态代码设置为 417【英文标题】:Set http status code to 417 when request API with wrong custom header 【发布时间】:2021-04-18 07:36:04 【问题描述】:我有一个支持多租户的 API(如果重要的话,基于 dotnet core 5)。所有请求都必须有一个自定义标头(如 X),指示所选租户。 因此,基于这种情况,我有两个主要问题。
-
通过标头接受租户是真的吗? (任何安全考虑或其他建议都是合适的)
客户端请求不存在或无效的租户时返回 HTTP 状态码 417 是否正确?
【问题讨论】:
【参考方案1】:是的,可以通过 header 接受租户。就安全性而言,它取决于您的安全机制来限制对 API 的访问。
与RFC 7231 一样,状态码417 与Expect header 有更多关系。如果租户不存在,401 - Unauthorized
更合适,403 - Forbidden
如果它是有效租户但没有执行操作的权限。
【讨论】:
以上是关于当请求 API 的自定义标头错误时,将 http 状态代码设置为 417的主要内容,如果未能解决你的问题,请参考以下文章