2017-03-09 17 views
1

Azure的API管理我的多租户应用,这暴露了我们的客户能够使用一些API。我想使用Azure API Management公开它。主要是为我们的客户提供开发门户,我觉得这非常有用,也许还会使用其他一些功能。如何设立MULT租户API

如果我理解正确的话,我们的客户将建立自己的订阅密钥进行验证,其API管理代理将验证。

问:我如何链接并识别用户/订阅我的应用程序的租客,以确保返回从这个租户的数据。

一个方向,我可以看到探索是使用委托注册,我想帮我的订阅链接到租户。但是,仍然问题是如何在我的后端API中获取用户ID?

到文件或样品的任何方向是非常赞赏

回答

3

您可以创建在APIM不同的组来代表你的租户,然后把用户分为使用代表团进行连接的那些群体。在表达式中使用API​​M策略时,您可以引用context.User.Groups来列出呼叫所属的用户组,并将该信息转发到后端。

另外,您可以使用说明字段来存储承租人的姓名和访问它context.User.Note。或者,如果您愿意将映射存储在您身边,则只需输入id context.User.Id。

<set-header name="userId"> 
    <value>@(context.User.Id)</value> 
</set-user> 

所有场景将需要你有代表团设置自动填写这些信息创建的每个新用户:

上述所有可以作为标题用设置页眉政策等通过。

+0

谢谢使用context.User听起来像我应该探索的方向。随着我收集更多数据,我稍后会将它标记为答案。 –