你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
自 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 - 定义要在页面上显示的控件。 显示控件具有特殊功能,并与后端验证技术配置文件交互。