当使用错误的自定义 header 请求 API 时,将 http 状态代码设置为 417
Set http status code to 417 when request API with wrong custom header
我有一个支持多租户的 API(如果重要的话,基于 dotnet core 5)。所有请求都必须有一个自定义 header(如 X)来指示所选租户。
因此,基于这种情况,我有两个主要问题。
- 通过header接受租客是真的吗? (任何安全考虑或其他建议都是合适的)
- 当客户端请求不存在或无效的租户时,return HTTP 状态代码 417 是否正确?
是的,可以通过header接受租户。就安全性而言,限制访问 API.
取决于您的安全机制
与 RFC 7231, the status code 417 has more to do with Expect header 相同。如果租户不存在,401 - Unauthorized
会更合适,如果它是有效租户但没有执行操作的权限,则 403 - Forbidden
。
我有一个支持多租户的 API(如果重要的话,基于 dotnet core 5)。所有请求都必须有一个自定义 header(如 X)来指示所选租户。 因此,基于这种情况,我有两个主要问题。
- 通过header接受租客是真的吗? (任何安全考虑或其他建议都是合适的)
- 当客户端请求不存在或无效的租户时,return HTTP 状态代码 417 是否正确?
是的,可以通过header接受租户。就安全性而言,限制访问 API.
取决于您的安全机制与 RFC 7231, the status code 417 has more to do with Expect header 相同。如果租户不存在,
401 - Unauthorized
会更合适,如果它是有效租户但没有执行操作的权限,则403 - Forbidden
。