你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

BuildingBlocks

重要

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

注释

在 Azure Active Directory B2C 中,自定义策略 主要用于解决复杂场景。 对于大多数场景,我们建议您使用内置的用户流。 如果未这样做,请通过 Active Directory B2C 中的自定义策略入门来了解自定义策略初学者包。

BuildingBlocks 元素在 TrustFrameworkPolicy 元素中添加。

<TrustFrameworkPolicy
  xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="https://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
  PolicySchemaVersion="0.3.0.0"
  TenantId="mytenant.onmicrosoft.com"
  PolicyId="B2C_1A_TrustFrameworkBase"
  PublicPolicyUri="http://mytenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase">

  <BuildingBlocks>
    <ClaimsSchema>
      ...
    </ClaimsSchema>
    <Predicates>
    ...
    </Predicates>
    <PredicateValidations>
    ...
    </PredicateValidations>
    <ClaimsTransformations>
      ...
    </ClaimsTransformations>
    <ContentDefinitions>
      ...
    </ContentDefinitions>
    <Localization>
      ...
    </Localization>
    <DisplayControls>
      ...
    </DisplayControls>
 </BuildingBlocks>

BuildingBlocks 元素包含以下必须按照定义的顺序指定的元素:

  • ClaimsSchema - 定义可作为策略的一部分引用的声明类型。 声明架构是声明声明类型的位置。 声明类型类似于许多编程语言中的变量。 可以使用声明类型从应用程序的用户收集数据、从社交标识提供者接收声明、从自定义 REST API 发送和接收数据,或存储自定义策略使用的任何内部数据。

  • 谓词和 PredicateValidationsInput - 允许您执行验证过程,以确保仅将格式正确的数据输入到声明中。

  • ClaimsTransformations - 包含可在策略中使用的声明转换列表。 声明转换将一个声明转换为另一个声明。 在声明转换中,指定转换方法,例如:

    • 将字符串声明的事例更改为指定的字符串声明。 例如,将字符串从小写更改为大写。
    • 比较两个声明并返回声明与 true,指示声明匹配,否则为 false。
    • 从策略中提供的参数创建字符串声明。
    • 使用随机数生成器创建随机字符串。
    • 根据提供的格式字符串设置声明的格式。 此转换将使用 C# String.Format 方法。
  • InputValidation - 此元素允许执行类似于或或的布尔聚合。

  • ContentDefinitions - 包含要用于用户旅程的 HTML5 模板的 URL。 在自定义策略中,内容定义定义用于用户旅程中指定步骤的 HTML5 页面 URI。 例如,登录或注册、密码重置或错误页。 可以通过重写 HTML5 文件的 LoadUri 来修改外观。 也可以根据需要创建新的内容定义。 此元素可能包含使用本地化 ID 的本地化资源引用。

  • 本地化 - 允许你支持多种语言。 通过策略中的本地化支持,可以在策略中设置受支持的语言列表,并选择默认语言。 还支持特定于语言的字符串和集合。

  • DisplayControls - 定义要在页面上显示的控件。 显示控件具有特殊功能,并与后端验证技术配置文件交互。