当使用错误的自定义 header 请求 API 时,将 http 状态代码设置为 417

Set http status code to 417 when request API with wrong custom header

我有一个支持多租户的 API(如果重要的话,基于 dotnet core 5)。所有请求都必须有一个自定义 header(如 X)来指示所选租户。 因此,基于这种情况,我有两个主要问题。

  1. 通过header接受租客是真的吗? (任何安全考虑或其他建议都是合适的)
  2. 当客户端请求不存在或无效的租户时,return HTTP 状态代码 417 是否正确?
  1. 是的,可以通过header接受租户。就安全性而言,限制访问 API.

    取决于您的安全机制
  2. RFC 7231, the status code 417 has more to do with Expect header 相同。如果租户不存在,401 - Unauthorized 会更合适,如果它是有效租户但没有执行操作的权限,则 403 - Forbidden