为什么 Azure 将不同的 HTML 嵌入自定义和内置策略的自定义 UI 注册表单中?

Why does Azure embed different HTML into a custom UI sign-up form for custom and built-in policies?

我们公司使用内置的 SignUpOrSignIn 策略已有一段时间了。我们还使用自定义 UI 功能,以便打造登录体验品牌。根据需要,我们有一个带有徽标和空 div 元素的页面:<div id="api"></div>

我们最近不得不转而使用(public 预览)自定义政策功能,再次实施 custom UI feature

但是在测试自定义策略时,我注意到在注册页面上插入空 div 的代码与使用内置策略的代码不同。

例如,使用内置策略,文本 "Please enter a valid email address." 包含在带有 class errordiv 中,这会隐藏文本用户,直到他们输入无效的电子邮件地址。使用自定义策略,此文本包含在 div 和 class helpText 中,并在页面加载后立即显示。

自定义策略还看到很多额外的 CSS 直接插入到页面的 head 中,这会覆盖我们 CSS 文件中的自定义样式。还有其他差异。

我按照 these steps 设置了相关的自定义策略。

为什么我使用自定义策略时显示的是不同的注册页面? 登录页面似乎是一样的,只是当我点击进入时注册一个新的帐户,差异出现。

显示的页面UI由内容定义决定。

例如在 the custom policy starter pack 中,用于注册页面 UI 的 api.selfasserted 内容定义设置为 1.1。 0 版本:

<ContentDefinition Id="api.selfasserted">
  <DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:1.1.0</DataUri>
</ContentDefinition>

可能是内置策略和自定义策略使用了不同的页面 UI 版本。