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