You need to enable JavaScript to run this app. Azure AD B2C中如何在OrchestrationStep内实现页面跳转?
优惠活动
大模型
产品
解决方案
定价
更多

Azure AD B2C中如何在OrchestrationStep内实现页面跳转?

Azure AD B2C OrchestrationStep 跨页面跳转实现说明

基础能力边界

OrchestrationStep 本身不直接支持无约束的跨页面自由跳转,所有跳转交互需要在自定义策略的前端权限、内容安全规则框架内实现,脱离配置规则的裸JS操作会触发框架的默认重定向逻辑。

为什么单纯写location.assign会跳转到jwt.ms

之前遇到的跳转异常是三层规则共同作用的结果:

  • B2C自定义策略页面默认拦截所有前端跳转请求,自动将跳转行为包装为对认证端点的表单提交
  • 未在策略中开启JS权限、配置跳转域名白名单时,框架无法识别该跳转为合法业务操作,会回退到默认测试端点(jwt.ms)完成流程收尾
  • CTA按钮没有拦截默认的表单提交行为,跳转逻辑被框架的全局事件捕获规则抢先触发
    跳转前页面末尾CTA展示效果

可落地的实现步骤

  • 开启对应内容定义的JS执行权限
    定位到当前CTA页面绑定的ContentDefinition配置节点,在节点的<Metadata>块中添加两项配置:
    • 设置UnifiedJs为true,启用B2C统一JS运行时
    • 设置ManualInterception为false,关闭框架对按钮点击、跳转事件的全局默认拦截
  • 配置跳转域名的CSP白名单
    在当前页面的安全策略配置块中,将目标跳转的业务域名加入内容安全策略的放行列表,避免浏览器、框架双重拦截跳转请求
  • 调整前端CTA的事件绑定逻辑
    给按钮点击事件增加默认行为拦截,再执行跳转操作,示例代码:
    // 获取页面末尾的CTA按钮元素
    const ctaBtn = document.querySelector('#page-end-cta');
    ctaBtn.addEventListener('click', (event) => {
      // 阻止按钮默认触发的认证表单提交流程
      event.preventDefault();
      // 执行已在白名单内的目标地址跳转
      window.location.replace('目标跳转页面地址');
    })
    
  • 校验跳转逻辑的流程位置
    若目标跳转地址为无需经过认证流程的外部页面,需将CTA入口放置在认证流程最起始、无前置身份校验要求的编排步骤中,避免流程状态不匹配触发框架自动重定向

内容的提问来源于stack exchange,提问作者Reni Dantas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.02 00:15:03