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

Azure B2C中TOTP+Email组合MFA配置失败求助

解决Azure B2C自定义策略中SamlAssertionSigning密钥缺失错误

问题原因

你的策略B2C_1A_signup_signin_saml为SAML断言输出类型,但Jwt Issuer技术配置文件未配置用于SAML断言签名的密钥,导致完成MFA流程后生成SAML断言时触发错误。

修复步骤

1. 创建或确认SAML断言签名密钥

在Azure B2C门户中操作:

  • 进入标识体验框架 -> 策略密钥
  • 检查是否存在类型为SAML Assertion Signing的密钥。若没有,点击添加:
    • 选择密钥类型为SAML Assertion Signing
    • 可选择生成自动创建密钥,或上传已有证书文件
    • 为密钥命名(例如B2C_1A_SamlAssertionSigning),保存后记录其StorageReferenceId

2. 更新Jwt Issuer技术配置文件

在你的策略文件(如B2C_1A_signup_signin_saml.xml或TrustFrameworkExtensions.xml)中,找到Id="Jwt Issuer"的技术配置文件,添加SamlAssertionSigning密钥引用:

<TechnicalProfile Id="Jwt Issuer">
  <DisplayName>JWT Issuer</DisplayName>
  <Protocol Name="None" />
  <OutputTokenFormat>SAML2</OutputTokenFormat>
  <Metadata>
    <!-- 保留原有元数据配置 -->
  </Metadata>
  <CryptographicKeys>
    <Key Id="JwtSigning" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
    <!-- 添加SAML断言签名密钥 -->
    <Key Id="SamlAssertionSigning" StorageReferenceId="B2C_1A_SamlAssertionSigning" />
    <Key Id="MetadataSigning" StorageReferenceId="B2C_1A_MetadataSigningKeyContainer" />
  </CryptographicKeys>
  <InputClaims />
  <OutputClaims />
</TechnicalProfile>

注意:确保OutputTokenFormat设置为SAML2,匹配你的SAML类型用户旅程。

3. 重新上传并测试策略

将修改后的策略文件重新上传到Azure B2C,然后测试用户旅程,确认错误消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:40:56