具有自定义 TOTP 的自定义 B2C 策略验证失败,并显示错误:"启用 JavaScript 时,请在内容定义中使用页面协定"



我正在制定一个支持自定义TOTP的IEF策略。我使用以下示例代码作为我工作的基础:https://github.com/azure-ad-b2c/samples/tree/master/policies/custom-mfa-totp

我已经创建了支持TOTP请求的服务,IEF将根据策略定义发布该请求。

我的问题是我在上传IEF策略时出现以下错误

Validation failed: 1 validation error(s) found in policy "myPolicyName" of tenant "myb2cTenant.onmicrosoft.com".
Please use page contract in content definitions when enabling JavaScript.Please use page contract in content definitions when enabling JavaScript.

到目前为止,我基本上只是修改示例策略文件,以包含在我的系统中工作的特定信息。示例策略文件分为两部分:TrustFrameworkExtension.xml和SignUpOrSignIn.xml

加载扩展名文件是可行的,但我在尝试加载SignUpOrSignIn文件时遇到了前面提到的错误。

我发现其他几篇StackOverflow帖子提到了类似的错误,推荐的解决方案并不能解决问题。推荐的解决方案建议使用此处所述的相应值更新元素:内容定义,并确保依赖方允许此处所述执行JS允许执行

在那之后,这就是我的政策的ContentDefinition:

<ContentDefinition Id="api.selfasserted.appfactor.registration">
<LoadUri>https://myurl/totp-ui/selfasserted-appfactor-registration.html</LoadUri>
<RecoveryUri>~/common/default_page_error.html</RecoveryUri>
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:1.2.0</DataUri>
<Metadata>
<Item Key="DisplayName">App Factor</Item>
</Metadata>
</ContentDefinition>

即使有了这些更新,策略仍然无法加载,我也没有东西可以尝试甚至解决问题。

关于这个错误的原因有什么想法吗?

特别感谢Dale Kirby,我现在有了这个问题的解决方案。

该错误不是由示例的TrustFrameworkExtensions.xml中提供的此TechnicalProfile中的配置引起的。

<TechnicalProfile Id=";AppFactor VerifyTotpWebHook"->

我收到错误的实际原因是,从我的TrustFrameworkBase.xml文件中引用的几个-TechnicalProfile-元素的DataURI中有旧的URI(这些技术配置文件由示例中提供的TrustFrameworks Extension.xml引用(。

一旦我更新了TrustFrameworkBase.xml和TrustFrameworkExtension.xml中所有过时的-DataURI值,错误就消失了。此处列出了正确的URI:页面布局URI

相关内容

  • 没有找到相关文章

最新更新