我需要将多个外部azure活动目录集成到我的应用程序(多租户)中。目前,我正在使用AD B2C。简而言之,任何客户购买我的产品,都应该能够将其组织的Azure动态目录与我的应用程序集成在一起,并且那些AD用户应该能够登录到应用程序而无需注册。
我尝试的方法之一是通过要求客户端在其AD中创建用于身份验证和授权的应用程序来验证外部天蓝色的Active Directory用户。但这似乎有些棘手,因为我们已经在B2C租户内部创建了应用程序,并在B2C租户中使用应用程序保护API。具有多个AD s的api将需要使用多个ID进行保护。该怎么做?
第二种方法是使用图形api读取外部Azure动态目录用户并邀请他们作为来宾用户。但是,即使将“来宾”用户类型更改为“成员”用户类型,创建的任何来宾用户也无法登录到应用程序。有实现这个的主意吗?
更新 我按照https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-setup-commonaad-custom中的步骤进行了所有操作,但是当我尝试输入凭据后尝试使用我的Azure AD帐户之一登录时,它会将我导航到B2C注册页面。这是因为我没有该AD帐户我的B2C租户。完成注册后,我将能够登录到该应用程序并获取令牌。 AD用户是在我们的B2C租户中使用源
创建的联合Azure Active Directory
输入凭据后,是否仍要摆脱导航到注册页面,而是立即使用令牌登录到应用程序,以便不会在我们的B2C租户中创建用户并从客户端的Azure AD验证用户?
答案 0 :(得分:1)
最好将AAD B2C与Azure AD公共终结点联合。这允许具有O365帐户的任何用户使用一个选项从任何Azure AD租户登录到您的服务。
然后,您可以将租户列入白名单,以便只有客户的Azure AD帐户才能通过此单个选项登录。客户只需要向您提供其TenantId。
FIFinderSyncProtocol
答案 1 :(得分:0)
为各个组织创建单独的B2C租户可能是一个解决方案。
您将把每个Azure AD租户与组织的本地AD集成。 为了同步两个AD,您将需要使用Azure AD Connect
(有关MSDN的更多信息,在这里:https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/identity/azure-ad#azure-ad-connect-sync-service)
一旦同步了AD,您的Web应用将向单个B2C租户请求访问和ID令牌。
有关如何使用OIDC进行各种用户旅程的更多信息,请阅读此处:
https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-oidc