首页 > 解决方案 > Azure AD B2C 多租户架构

问题描述

Microsoft Azure AD B2C 是否支持多租户架构?下图是我们的架构。我创建了一个 Azure AD B2C 服务调用Tenant(Client)和一个指向我的订阅帐户的链接。我已经在该租户中注册了 UI 和 API 应用程序。然后我在租户中以管理员身份创建了用户。管理员创建用户来访问我的应用程序。我们计划实施 Azure AD B2C 的多租户来访问单个 Angular 应用程序 (UI)。 例子:从基于 Azure AD B2C con 的 Angular(UI)

我创建了一个 Azure AD B2C 服务调用TenantA(Client A)和一个指向我的订阅帐户的链接。然后我在 TenantA 中以管理员身份创建了用户。管理员创建用户来访问我的应用程序。我已经注册

我创建了一个 Azure AD B2C 服务调用TenantB(Client B)和一个指向我的订阅帐户的链接。然后我在 TenantB 中以管理员身份创建了用户。管理员创建用户来访问我的应用程序。

多个租户 Client A(Tenant A)Client B(Tenant B)用户应访问单个 UI 应用程序并应访问单个 API 应用程序。

如何在UIAPI应用程序中为两个租户注册相同的 配置

标签: angularasp.net-web-apiazure-ad-b2cazure-ad-b2b

解决方案


你不能,每个租户 api 范围都是唯一的,因为它基于租户 ID。

您可以将所有用户放在同一个租户中,或者使用支持多个令牌颁发者的库。

或者,如果您确实需要隔离身份,您可以将单个 B2C“漏斗”租户与多个客户 B2C 租户联合起来,并使用家庭领域发现来路由传入用户的身份验证流。这种方法必须确保电子邮件在范围内的所有租户中是唯一的。漏斗租户会要求用户提供电子邮件,使用自定义策略调用 REST API,该 API 将使用 Graph API 在所有租户中查找电子邮件。一旦找到租户,它就会告诉漏斗租户将用户重定向到哪个 B2C 联盟以完成身份验证。


推荐阅读