0

案例:我想通过 API Manager 以多租户的方式暴露 API。希望我能解释我想要什么。所以实际上一个 API 密钥属于一个特定的租户。

示例:我想为 GetCustomers API 公开。因为我只想返回该租户的客户,如果没有租户作为参数(GetCustomers(租户)),我怎么能做到这一点?

  1. 是否可以让租户获得 API 密钥?
  2. 还有另一种方法可以实现这一目标吗?

问候罗杰

4

1 回答 1

1

如果我答对了,我想我可以将您的问题格式化如下,

您有一个公共 API,所有租户的所有用户都可以调用它。但是,每当属于某个特定租户的用户调用该 API 时,API 必须返回属于该特定租户的用户。

解决方案

您可以定义您的后端服务,该服务可以根据租户参数提取用户详细信息。请求命中 APIManager 时可以传递租户参数。为此,用户不需要传递他属于哪个租户。从 API 本身,您应该能够从地址标头中提取该值并将其传递给后端。

我认为以上是正确的实施方式。如果您不想将“租户”参数传递给后端,则需要为每个租户托管多个克隆的后端服务,以提取属于该租户的客户详细信息。这是一个糟糕的设计。

于 2015-01-22T03:43:32.540 回答