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

Azure B2C 用户流(UserFlow)与自定义策略(CustomPolicy)间SSO异常问题咨询

Azure B2C 跨用户流/自定义策略SSO报错问题排查

可能的根因

  • SSO会话兼容性问题:即使两类流输出令牌完全一致,Azure B2C校验SSO会话有效性时会读取未对外输出的内部会话声明。用户流和自定义策略starter pack默认的alternativeSecurityId、issuerUserId生成规则存在隐性差异,会导致跨流识别同一会话失败。
  • 会话ID拼接策略差异:旧版本自定义策略入门包的SSO-Session技术配置文件中,UsePolicyInSessionId参数默认值为true,会将当前策略ID拼接到会话ID中,导致会话和策略类型绑定,无法跨用户流/自定义策略共享。
  • 联邦IdP声明映射不匹配:同一Azure AD身份提供商在用户流和自定义策略中的声明映射规则可能不一致。例如用户流默认将Azure AD返回的oid映射为issuerUserId,如果自定义策略中误将sub映射为issuerUserId,会导致同一个用户的内部身份标识在两类流中完全不同,跨流校验时直接判定会话无效。
  • 应用注册配置偏差:两类流绑定的应用如果accessTokenAcceptedVersion、ID令牌签名算法配置不一致,会导致B2C校验会话关联的应用权限时触发错误。

调试步骤

  • 提取报错核心信息:触发报错时直接复制地址栏的error、error_description参数值,优先判断错误类型属于会话校验失败、令牌校验失败还是IdP回调错误。
  • 对比SSO会话cookie内容:分别在用户流、自定义策略登录成功后,导出当前域名下名为x-ms-cpim-sso:{你的租户ID}的cookie,解码后对比sid(会话ID)、identityProvider、issuerUserId字段是否一致。
  • 校验自定义策略会话配置:打开TrustFrameworkBase.xml找到SSO-Session技术配置文件,确认UsePolicyInSessionId参数值为false,避免会话和策略ID绑定。
  • 对齐联邦IdP声明映射规则:检查自定义策略中Azure AD技术配置文件的OutputClaims节点,确认issuerUserId映射自Azure AD返回的oid,identityProvider映射自Azure AD返回的iss,和用户流的默认映射规则完全对齐:

用户流的身份提供商标识符默认值为https://login.microsoftonline.com/{AzureAD租户ID}/v2.0,如果自定义策略中该字段值为自定义字符串,也会导致跨流会话校验失败。

  • 校验令牌隐性属性:用JWT解码工具解析两类流输出的ID令牌,确认头部的alg(签名算法)、kid(密钥标识)参数完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:54:05