Azure B2C 自定义策略无密码登录架构验证错误

Azure B2C custom policy passwordless signin schema validation error

我正在使用 Azure B2C 自定义策略进行无密码登录,然后 sample

<BuildingBlocks> 部分有 <ClaimsTransformations>.....ClaimsTransformations> 定义随机密码生成。要为我的登录屏幕自定义 UI,我还添加了 <ContentDefinitions> .... ContentDefinitions> 在 <BuildingBlocks> 部分。

现在我在尝试上传 TrustFrameworkExtensions_passwordless_only.xml 文件时遇到验证错误,提示 ---> 元素 <BuildingBlocks> 具有无效的子元素 <ClaimsTransformations >。预期的可能元素列表:Localisation、DisplayControls.

这很奇怪,因为在参考架构中 ClaimsTransformations 也是一个有效元素。不知道为什么我会收到此错误。谁能帮我解决这个问题?

根据 BuildingBlocks 上的官方 AD B2C 自定义策略文档:

The BuildingBlocks element contains the following elements that must be specified in the order defined:

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

因此顺序很重要,您需要将 ContentDefinitions 块放在 ClaimsTransformations 块之后。