Azure AD B2C与企业(Azure?)AD帐户集成

Con*_*ill 8 azure azure-active-directory azure-ad-b2c azure-ad-b2b

我们希望将Azure AD B2C用于我们的Web应用程序,以允许用户使用"本地"帐户/密码登录或使用他们的社交帐户(Facebook等). https://docs.microsoft.com/azure/active-directory-b2c/active-directory-b2c-overview

但是,在此应用程序中,我们可能会定位组织,因此我们还希望与公司现有的Azure AD公司帐户集成.这样,用户无需创建新帐户即可使用其现有的公司帐户.

事实证明,Azure AD B2C中有一个(新)功能,允许您使用如下所述的自定义策略显式链接到外部Azure AD帐户:https://docs.microsoft.com/azure/active-目录B2C /主动目录B2C -设置- AAD定制

不幸的是,这只有在我们事先知道我们需要链接哪些外部公司并添加特定配置时才有效.它还泄漏有关谁正在使用该应用程序的信息,因为公司名称在登录页面上列为选项.

我也看过Azure AD B2B功能,但我认为这也不合适.

我们真正喜欢的是Azure AD B2C为(公司)Microsoft帐户提供通用登录,该帐户检测该电子邮件地址是否已在任何Azure AD系统中处理; 如果是,则它将身份验证委派给该系统,但如果不是,则它将回退到Azure AD B2C本地帐户.

此通用登录已用于访问标准Microsoft应用程序,例如其门户.有没有人知道这是否可以在Azure AD B2C中实现,或者是否有可能的时间范围?是否有任何替代系统可以提供类似的功能?

Sac*_*aca 5

您所指的是让 Azure AD 处于多租户模式,作为身份提供者添加到 Azure AD B2C。

来自:具有自定义策略的 Azure AD B2C 中的多租户 Azure AD 身份验证

为了支持多租户 Azure AD,你需要在自定义策略中使用不同的值配置 ClaimsProvider。

使用以下值,确保替换为 client_id 和 IdTokenAudience。

<Item Key="DiscoverMetadataByTokenIssuer">true</Item>
<Item Key="ValidTokenIssuerPrefixes">https://sts.windows.net/</Item>
<Item Key="authorization_endpoint">https://login.microsoftonline.com/common/oauth2/authorize</Item>
<Item Key="client_id">df5b2515-a8d2-4d91-ab4f-eac6e1e416c2</Item>
<Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item>
<Item Key="scope">openid</Item>
<Item Key="UsePolicyInRedirectUri">false</Item>
<Item Key="HttpBinding">POST</Item>
<Item Key="response_types">id_token</Item>
<Item Key="IdTokenAudience">df5b2515-a8d2-4d91-ab4f-eac6e1e416c2</Item>
Run Code Online (Sandbox Code Playgroud)

注意:此功能尚未正式提供预览版,因此请谨慎使用。继续监视官方的“使用 Azure AD 帐户登录”文档,以查看何时完全记录和支持。

编辑:确保您Multi-tenanted在应用程序的设置中翻转开关,否则您将收到以下错误:

AADSTS70001:在目录(我们公司的主域)中找不到标识符为“(guid)”的应用程序

  • 听起来您没有在此声明提供程序中使用的 Azure AD 应用程序中翻转“多租户”开关。 (2认同)