Azure AD B2C:常见问题解答

重要

自 2025 年 5 月 1 日起,Azure AD B2C 将不再可供新客户购买。 在我们的常见问题解答中了解详细信息

本页解答了有关 Azure Active Directory B2C(Azure AD B2C)的常见问题。 继续检查更新。

Azure AD B2C 终止销售

2025 年 5 月 1 日起, Azure AD B2C 将不再可供新客户购买,但当前 Azure AD B2C 客户可以继续使用该产品。 产品体验(包括创建新租户或用户流)将保持不变。 包括服务级别协议 (SLA)、安全更新与合规性在内的运营承诺也将保持不变。 我们将继续支持 Azure AD B2C,直到至少 2030 年 5 月。 我们将提供详细信息,包括迁移计划。 请联系客户代表以获取详细信息,并详细了解 Microsoft Entra 外部 ID。

什么是 Microsoft Entra 外部 ID?

我们发布了下一代Microsoft Entra 外部 ID 产品,该产品结合了强大的解决方案,可与组织外部人员合作。 借助外部 ID 功能,可以允许外部标识安全地访问应用和资源。 无论你是与外部合作伙伴、消费者还是业务客户合作,用户都可以自带标识。 这些标识的范围从公司或政府颁发的帐户到 Google 或 Facebook 等社交标识提供者。 有关详细信息,请参阅 Microsoft Entra 外部 ID 简介

为什么无法在 Azure 门户中访问 Azure AD B2C 扩展?

Microsoft Entra 扩展不起作用的原因有两个常见原因。 Azure AD B2C 要求目录中的用户角色是全局管理员。 如果你认为你应该有权访问,请与管理员联系。 如果具有全局管理员权限,请确保位于 Azure AD B2C 目录中,而不是Microsoft Entra 目录。 可以查看 有关创建 Azure AD B2C 租户的说明。

是否可以在现有基于员工的Microsoft Entra 租户中使用 Azure AD B2C 功能?

Microsoft Entra ID 和 Azure AD B2C 是单独的产品/服务。 若要使用 Azure AD B2C 功能,请从现有基于员工的Microsoft Entra 租户创建单独的 Azure AD B2C 租户。 一个 Microsoft Entra 租户代表一个组织。 Azure AD B2C 租户表示要与信赖方应用程序一起使用的标识集合。 通过在 Azure AD B2C 标识提供者下添加新的 OpenID Connect 提供程序或使用自定义策略,Azure AD B2C > 可以联合Microsoft Entra ID,从而允许对组织中的员工进行身份验证。

是否可以使用 Azure AD B2C 将社交登录(Facebook 和 Google+)提供给 Microsoft 365?

Azure AD B2C 不能用于对Microsoft 365 的用户进行身份验证。 Microsoft Entra ID 是Microsoft解决方案,用于管理员工对 SaaS 应用的访问权限,并且它具有专为许可和条件访问等目的而设计的功能。 Azure AD B2C 提供用于生成 Web 和移动应用程序的标识和访问管理平台。 将 Azure AD B2C 配置为联合到 Microsoft Entra 租户时,Microsoft Entra 租户管理员工对依赖于 Azure AD B2C 的应用程序的访问权限。

什么是 Azure AD B2C 中的本地帐户? 它们与Microsoft Entra ID 中的工作或学校帐户有何不同?

在Microsoft Entra 租户中,属于租户的用户使用表单 <xyz>@<tenant ___domain>的电子邮件地址登录。 <tenant ___domain>这是租户或初始<...>.onmicrosoft.com域中的已验证域之一。 这种类型的帐户是工作或学校帐户。

在 Azure AD B2C 租户中,大多数应用都希望用户使用任意电子邮件地址(例如,、joe@comcast.netbob@gmail.com、sarah@contoso.com或jim@live.com) 登录。 这种类型的帐户是本地帐户。 我们还支持任意用户名作为本地帐户(例如 joe、bob、sarah 或 jim)。 在 Azure 门户中为 Azure AD B2C 配置标识提供者时,可以选择这两种本地帐户类型之一。 在 Azure AD B2C 租户中,选择 “标识提供者”,选择“ 本地帐户”,然后选择“ 用户名”。

可以通过注册用户流、注册或登录用户流、Microsoft图形 API 或 Azure 门户创建应用程序的用户帐户。

Azure AD B2C 租户可以容纳多少用户?

默认情况下,每个租户可以容纳总共 125 万个对象(用户帐户和应用程序),但在添加和验证自定义域时,可以将此限制增加到 525 万个对象。 如果想要提高此上限,请联系 Microsoft 支持部门。 但是,如果在 2022 年 9 月之前创建了租户,此限制不会影响你,并且你的租户将在创建时保留分配给它的大小,即 5000 万 个对象。

你现在支持哪些社交标识提供者? 你计划在将来支持哪些?

我们目前支持多个社交标识提供者,包括 Amazon、Facebook、GitHub(预览版)、Google、LinkedIn、Microsoft帐户(MSA)、QQ(预览版)、X、WeChat(预览版)和微博(预览版)。 我们评估根据客户需求添加对其他热门社交标识提供者的支持。

Azure AD B2C 还支持 自定义策略。 自定义策略允许为支持 OpenID Connect 或 SAML 的任何标识提供者创建自己的策略。 通过查看 自定义策略初学者包开始使用自定义策略

是否可以配置范围以收集来自各种社交标识提供者的使用者的详细信息?

否。 用于我们支持的社交标识提供者集的默认范围包括:

  • Facebook:电子邮件
  • Google+: 电子邮件
  • Microsoft帐户:openid 电子邮件配置文件
  • Amazon:配置文件
  • LinkedIn:r_emailaddress、r_basicprofile

我在 Azure AD B2C 中将 ADFS 用作标识提供者。 尝试从 Azure AD B2C 启动注销请求时,ADFS 会显示错误 *MSIS7084:使用 SAML HTTP 重定向或 HTTP POST 绑定时必须签名 SAML 注销请求和注销响应消息。 如何解决此问题?

在 ADFS 服务器上,运行: Set-AdfsProperties -SignedSamlRequestsRequired $true。 这将强制 Azure AD B2C 将所有请求签名到 ADFS。

我的应用程序是否必须在 Azure 上运行才能使用 Azure AD B2C?

否,可以在任何位置(云中或本地)托管应用程序。 只需与 Azure AD B2C 交互,即可在可公开访问的终结点上发送和接收 HTTP 请求。

我有多个 Azure AD B2C 租户。 如何在 Azure 门户中管理它们?

在 Azure 门户中打开 Azure AD B2C 服务之前,必须切换到要管理的目录。 选择顶部菜单中的 “设置” 图标,切换到要从 “目录 + 订阅 ”菜单管理的目录。

为什么无法创建 Azure AD B2C 租户?

你可能无权创建 Azure AD B2C 租户。 只有具有至少 租户创建者 角色的用户才能创建租户。

如何自定义 Azure AD B2C 发送的验证电子邮件(内容和“发件人:”字段) ?

可以使用 公司品牌功能 自定义验证电子邮件的内容。 具体而言,可以自定义电子邮件的这两个元素:

  • 横幅徽标:显示在右下角。

  • 背景色:显示在顶部。

    自定义验证电子邮件的屏幕截图

电子邮件签名包含首次创建 Azure AD B2C 租户时提供的 Azure AD B2C 租户名称。 可以使用以下说明更改名称:

  1. 以全局管理员身份登录到 Azure 门户
  2. 打开 Microsoft“条目 ID ”边栏选项卡。
  3. 选择“属性”选项卡。
  4. 更改 “名称” 字段。
  5. 在页面顶部选择“保存”。

目前,无法更改电子邮件上的“发件人:”字段。

小窍门

使用 Azure AD B2C 自定义策略,可以自定义 Azure AD B2C 发送给用户的电子邮件,包括电子邮件上的“发件人:”字段。 自定义电子邮件验证要求使用第三方电子邮件提供商,如 MailjetSendGrid

如何将现有用户名、密码和配置文件从数据库迁移到 Azure AD B2C?

可以使用Microsoft图形 API 编写迁移工具。 有关详细信息,请参阅 用户迁移指南

Azure AD B2C 中的本地帐户使用哪些密码用户流?

本地帐户的 Azure AD B2C 密码用户流基于 Microsoft Entra ID 的策略。 Azure AD B2C 的注册、注册或登录和密码重置用户流使用“强”密码强度,并且不会使任何密码过期。 有关详细信息,请参阅 Microsoft Entra ID 中的密码策略和限制

有关帐户锁定和密码的信息,请参阅 缓解 Azure AD B2C 中的凭据攻击

是否可以使用 Microsoft Entra Connect 将存储在本地 Active Directory 上的使用者标识迁移到 Azure AD B2C?

否,Microsoft Entra Connect 不能用于 Azure AD B2C。 请考虑使用 Microsoft 图形 API 进行用户迁移。 有关详细信息,请参阅 用户迁移指南

我的应用是否可以在 iFrame 中打开 Azure AD B2C 页面?

此功能目前为公共预览版。 有关详细信息,请参阅 嵌入式登录体验

Azure AD B2C 是否适用于 crm 系统,例如 Microsoft Dynamics?

与 Microsoft Dynamics 365 门户集成可用。 请参阅 配置 Dynamics 365 门户以使用 Azure AD B2C 进行身份验证

Azure AD B2C 是否适用于本地 2016 或更早版本的 SharePoint?

Azure AD B2C 不适用于 SharePoint 外部合作伙伴共享方案;请改为查看 Microsoft Entra B2B

我应该使用 Azure AD B2C 或 B2B 来管理外部标识吗?

阅读 “外部标识比较解决方案 ”,详细了解如何将相应的功能应用到外部标识方案。

Azure AD B2C 提供哪些报告和审核功能? 它们是否与在 Microsoft Entra ID P1 或 P2 中相同?

否,Azure AD B2C 不支持与 Microsoft Entra ID P1 或 P2 相同的报表集。 但是,有许多共同点:

  • 登录报告 提供了每个登录的记录,并减少了详细信息。
  • 审核报告 包括管理员活动和应用程序活动。
  • 使用情况报告 包括用户数、登录次数和 MFA 量。

为什么我的 Azure AD B2C 帐单显示名为“Microsoft Entra 外部 ID”的电话费用?

遵循 Azure AD 外部标识短信电话身份验证的新 计费模型 ,你可能会注意到帐单上的新名称。 以前,电话 MFA 被计费为“Azure Active Directory B2C - 基本 1 多重身份验证”。现在,你将看到以下名称,具体取决于 你的国家或地区定价层

  • Microsoft Entra 外部 ID - 电话认证低费用 1 笔交易
  • Microsoft Entra 外部 ID - 电话身份验证中低成本 1 事务
  • Microsoft Entra 外部 ID - 电话验证中等偏高费用 1 笔交易
  • Microsoft Entra 外部 ID - 电话身份验证高成本 1 笔交易

尽管新帐单提到Microsoft Entra 外部 ID, 但仍会根据核心 MAU 计数为 Azure AD B2C 付费

最终用户是否可以将基于时间的一次性密码(TOTP)与验证器应用配合使用,向 Azure AD B2C 应用进行身份验证?

是的。 最终用户需要下载支持 TOTP 验证的任何验证器应用,例如 Microsoft Authenticator 应用 (建议)。 有关详细信息,请参阅 验证方法

为什么我的 TOTP 验证器应用代码不起作用?

如果 TOTP 验证器应用代码不适用于 Android 或 iPhone 手机或设备,则设备的时钟时间可能不正确。 在设备的设置中,选择使用网络提供的时间或自动设置时间的选项。

如何知道 Go-Local 加载项在我的国家/地区可用?

创建 Azure AD B2C 租户时,如果 Go-Local 加载项在你的国家/地区可用,系统会要求你在需要时启用它。

启用 Go-Local 加载项时,我是否仍每月获得 50,000 个免费 MA?

启用 Go-Local 加载项时,每月 50,000 个免费 MA 不适用。 从第一个 MAU 开始,Go-Local 加载项会产生费用。 但是,对于 Azure AD B2C Premium P1 或 P2 定价提供的其他功能,你将继续享受每月 50,000 个免费的 MAU。

在日本或澳大利亚已有一个未启用 Go-Local 加载项的现有 Azure AD B2C 租户。 如何激活此加载项?

按照 激活 Go-Local ad-on 中的步骤激活 Azure AD B2C Go-Local 加载项。

是否可以本地化 Azure AD B2C 提供的页面 UI? 支持哪些语言?

是的,请参阅 语言自定义。 我们提供 36 种语言的翻译,你可以替代任何字符串以满足你的需求。

是否可以在 Azure AD B2C 提供的注册和登录页上使用自己的 URL? 例如,是否可以将 URL 从 contoso.b2clogin.com 更改为 login.contoso.com?

是的,可以使用自己的域。 有关详细信息,请参阅 Azure AD B2C 自定义域

如何删除 Azure AD B2C 租户?

按照以下步骤删除 Azure AD B2C 租户。

可以使用新的统一 应用注册 体验或旧 版应用程序(旧版) 体验。 详细了解新体验

  1. 订阅管理员身份登录到 Azure 门户。 使用在注册 Azure 时使用的同一个工作或学校帐户,或同一个 Microsoft 帐户。
  2. 确保正在使用的目录包含 Azure AD B2C 租户。 在门户工具栏中选择“设置”图标。
  3. 在“门户设置 | 目录+订阅”页上的“目录名称”列表中找到你的 Azure AD B2C 目录,然后选择“切换”。
  4. 在左侧菜单中,选择“Azure AD B2C”。 或者,选择“所有服务”并搜索并选择“Azure AD B2C”。
  5. 删除 Azure AD B2C 租户中的所有 用户流(策略 )。
  6. 删除 Azure AD B2C 租户中的所有 标识提供者
  7. 选择 “应用注册”,然后选择“ 所有应用程序 ”选项卡。
  8. 删除已注册的所有应用程序。
  9. 删除 b2c-extensions-app
  10. 在“管理”下,选择“用户” 。
  11. 依次选择每个用户(不包括当前已登录的 订阅管理员 用户)。 选择页面底部的 “删除 ”,并在出现提示时选择“ ”。
  12. 在左侧菜单中选择 Microsoft Entra ID
  13. 在“ 管理”下,选择“ 属性”
  14. 在“Azure 资源的访问管理”下,选择“是”,然后选择“保存”。
  15. 从 Azure 门户注销,然后重新登录以刷新你的访问权限。
  16. 在左侧菜单中选择 Microsoft Entra ID
  17. 在“ 概述 ”页上,选择“ 删除租户”。 按照屏幕上的说明完成该过程。

是否可以将 Azure AD B2C 作为企业移动性套件的一部分?

否,Azure AD B2C 是即用即付 Azure 服务,不属于企业移动性套件。

是否可以为 Azure AD B2C 租户购买 Microsoft Entra ID P1 和 Microsoft Entra ID P2 许可?

否,Azure AD B2C 租户不使用 Microsoft Entra ID P1 或 Microsoft Entra ID P2 许可。 Azure AD B2C 使用 Azure AD B2C Premium P1 或 P2 许可证,这些许可证不同于标准Microsoft Entra 租户的 Microsoft Entra ID P1 或 P2 许可证。 Azure AD B2C 租户原生支持类似于 Microsoft Entra ID P1 或 P2 功能的某些功能,如 支持的Microsoft Entra ID 功能中所述。

是否可以对 Azure AD B2C 租户中的 Microsoft Entra Enterprise Applications 使用基于组的分配?

Microsoft Azure 政府版中是否提供 Azure AD B2C?

否,Microsoft Azure 政府版中不提供 Azure AD B2C。

我正在为应用程序使用滚动刷新令牌,我在设置有效期内兑换新获取的刷新令牌时收到invalid_grant错误。 为何发生这种情况?

在确定滚动刷新令牌的有效性时,B2C 会考虑应用程序中用户的初始登录时间,以计算令牌有效性偏差。 如果用户长时间未注销应用程序,则此倾斜值将超过令牌的有效期,因此出于安全原因,令牌被视为无效。 因此,错误。 通知用户执行正确的注销并重新登录到应用程序,这应该重置倾斜。 如果刷新令牌滚动设置为无限滚动,则此方案不适用。

我已使用 Microsoft Graph invalidateAllRefreshTokens 或 Microsoft Graph PowerShell、Revoke-MgUserSignInSession 撤销刷新令牌。 为什么 Azure AD B2C 仍接受旧的刷新令牌?

在 Azure AD B2C 中,如果时间refreshTokensValidFromDateTimerefreshTokenIssuedTime差小于或等于 5 分钟,则刷新令牌仍被视为有效。 但是,如果大于refreshTokenIssuedTimerefreshTokensValidFromDateTime,则会撤销刷新令牌。 按照以下步骤检查刷新令牌是否有效或已吊销:

  1. RefreshToken通过兑换来检索和AccessToken兑换 authorization_code

  2. 等待 7 分钟。

  3. 使用 Microsoft Graph PowerShell cmdlet Revoke-MgUserSignInSession 或 Microsoft Graph API invalidateAllRefreshTokens 运行 RevokeAllRefreshToken 命令。

  4. 等待 10 分钟。

  5. RefreshToken再次检索。

小窍门

使用 Azure AD B2C 自定义策略,可以通过在声明转换 ID“AssertRefreshTokenIssuedLaterThanValidFromDate”下调整 InputParameter“TreatAsEqualIfWithinMillseconds”的值来减少上述倾斜时间 5 分钟(300000 毫秒)。 可以在最新的自定义策略 状态程序包下的 TrustFrameworkBase.xml 文件中找到此声明转换。

我在 Web 浏览器中使用多个选项卡登录到在同一 Azure AD B2C 租户中注册的多个应用程序。 尝试执行单一注销时,并非所有应用程序都已注销。为什么会发生这种情况?

目前,Azure AD B2C 不支持此特定方案的单一注销。 这是由 Cookie 争用引起的,因为所有应用程序同时在同一 Cookie 上运行。

如何报告 Azure AD B2C 的问题?

在 Azure AD B2C 中,我使用 Azure 门户“撤销会话”按钮撤销用户的所有会话,但不起作用。

目前,Azure AD B2C 不支持从 Azure 门户吊销用户会话。 但是,可以使用 Microsoft Graph PowerShellMicrosoft 图形 API 来实现此任务。