问:多租户Azure API管理设计



我在Azure APIM上实现了许多受订阅密钥保护的API,它们都运行良好。

不过,我确实有一个限制,因为客户端应用程序无法修改(*(,我只能将URL设置为参数(即:没有额外的头(。我通过实现一个小型代理应用程序来克服这一限制,客户可以在本地部署该应用程序,并添加订阅密钥。换句话说,客户端应用程序连接到本地URL,然后代理调用API。这也很好。

然而,我想为潜在客户提供一个更简单的评估,而无需部署代理。我想我可以为每个客户提供他们自己的租户URL(例如:guid.mydomain.com(,然后在Azure APIM上使用这些信息来查找auth密钥并调用后端API。这是我想不通的部分。

我正在寻找替代设计理念或如何使其发挥作用的技巧。

知道吗?

Marco

(*(它属于另一家公司。

对于那些可能感兴趣的人,我通过添加一组新的azure函数和子域的自定义通配符证书来解决这个问题。

在azure函数中,域和子域信息可以在HttpRequest.Host属性中找到。在我的情况下,子域等同于租户id,然后我可以使用它来检索订阅密钥并调用APIM API。

最新更新