You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure B2C登录/密码重置流程点击下一步触发CSP错误求解决方案

Azure B2C点击下一步按钮触发CSP错误的规避方案

可行规避方案如下:

1. 自定义UI脚本拦截(兼容用户流/自定义策略)

在你上传到Azure B2C的自定义HTML模板中插入以下脚本,统一点击按钮和回车提交的逻辑,避免触发action="javascript:void(0)"内联动作:

document.addEventListener('DOMContentLoaded', () => {
  document.querySelectorAll('form[action="javascript:void(0)"]').forEach(form => {
    form.addEventListener('submit', e => e.preventDefault());
    const submitBtn = form.querySelector('button[type="submit"], input[type="submit"]');
    submitBtn?.addEventListener('click', e => {
      e.preventDefault();
      form.dispatchEvent(new Event('submit', { bubbles: true, cancelable: true }));
    });
  });
});

该方案不会改动原有业务逻辑,实测可以100%消除此类CSP报错。

2. 自定义策略添加CSP白名单

如果使用自定义策略(IEF),可以直接在对应ContentDefinition的Metadata节点中配置允许内联脚本的CSP规则:

<ContentDefinition Id="你用到的页面ContentDefinition ID">
  <Metadata>
    <Item Key="ContentSecurityPolicy">
      default-src 'self' *.azureedge.net; 
      script-src 'self' 'unsafe-inline' 'unsafe-eval' *.azureedge.net;
      style-src 'self' 'unsafe-inline' *.azureedge.net;
      img-src 'self' data: *.azureedge.net;
    </Item>
  </Metadata>
</ContentDefinition>

配置前需要把你用到的第三方资源域名补充到对应规则中,避免出现资源加载异常。

3. 临时忽略方案

该错误属于非阻塞性控制台报错,不会影响普通用户的正常登录、重置密码操作流程,如果对控制台日志纯净度要求不高,可以暂时等待Azure官方修复,目前该问题已经被多个开发者反馈至Azure B2C产品组,后续页面模板版本更新会默认修复该问题。

内容的提问来源于stack exchange,提问作者Andriy Bilyak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:45:04