为什么 Azure AD B2C 限制在自定义 UI 中使用"for"属性?



有谁知道为什么 B2C 应用sanitizerPolicy没有在allowedAttributes列表中列出for属性,或者是否可以修改策略?我想不出允许使用该属性的任何真正漏洞,而是通过从自定义 UI 源检索的 HTML 清理来剥离它。关于清理器策略的文档很少。

sanitizerPolicy是包含在SETTINGSJavaScript对象中的复杂属性,该对象由表达式框架(因此B2C本身(注入B2C UI,并在加载特定内容定义的远程内容(例如自定义UI HTML和CSS(时使用。然后,注入的设置由JavaScript函数(例如sanitizeHTML(应用,默认情况下,这些函数也由表达式框架注入。函数和设置用于限制远程源提供的 HTML(通过表达式框架中 ContentDefinition 的LoadUri属性(。关于此的文档很少或没有,因此无法提供有用的链接

sanitizerPolicy中的当前allowedAttribute数组如下所示:['id', 'class', 'href', 'name', 'data-*', 'aria-*', 'type', 'lang', 'src', 'sizes', 'role', 'placeholder', 'title', 'width', 'height', 'style']

上下文:我的用例是,我希望纯粹在 CSS 中切换密码策略,它使用for属性使用隐藏的复选框和绑定到复选框的标签,但唉,没有绑定,因为for属性在呈现我的自定义 UI 时由 sanizterPolicy 从标签元素中剥离。

有一个已关闭的 GitHub 问题,与添加有关此功能的适当文档的请求有关。该文档的位置未知,也没有提供任何指向其他开放任务的链接以交付相同。

我刚刚收到 Azure 支持工程师的回复,确认在 Azure B2C 方案下自定义 UI 时不支持"for"属性。目前,他们已经表示现在需要有关此行为的更好文档。

最新更新