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

SM-MFA未返回isActiveMFASession导致SSO重复触发MFA问题咨询

故障根因

你当前的SM-MFA会话提供器配置存在三处核心缺陷,导致isActiveMFASession声明无法正常从SSO会话中读取生成:

  1. isActiveMFASession仅配置了输出声明默认值,未配置强制生效参数,SSO会话加载时不会主动生成该声明
  2. isActiveMFASession未加入持久化声明列表,MFA验证通过后不会被写入SSO会话
  3. 未确认MFA验证技术配置是否绑定了SM-MFA会话管理提供器

修复步骤

1. 修正SM-MFA技术配置

更新你的SM-MFA技术配置代码如下,新增isActiveMFASession持久化配置和强制输出参数:

<TechnicalProfile Id="SM-MFA">
  <DisplayName>Session Mananagement Provider</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.DefaultSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <PersistedClaims>
    <PersistedClaim ClaimTypeReferenceId="Verified.strongAuthenticationPhoneNumber" />
    <!-- 新增:将MFA会话标记持久化到SSO存储 -->
    <PersistedClaim ClaimTypeReferenceId="isActiveMFASession" />
  </PersistedClaims>
  <OutputClaims>
    <!-- 新增AlwaysUseDefaultValue="true",确保SSO会话加载时必然输出该标记 -->
    <OutputClaim ClaimTypeReferenceId="isActiveMFASession" DefaultValue="true" AlwaysUseDefaultValue="true" />
  </OutputClaims>
</TechnicalProfile>

2. 绑定MFA验证技术配置的会话管理

找到你的PhoneFactor-InputOrVerify技术配置,在节点末尾新增会话管理引用,确保MFA验证通过后会写入SM-MFA会话:

<TechnicalProfile Id="PhoneFactor-InputOrVerify">
  <!-- 原有所有配置保持不变,新增以下节点 -->
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-MFA" />
</TechnicalProfile>

3. 确认声明类型定义

检查BuildingBlocks下的ClaimsSchema节点,确认已定义isActiveMFASession,未定义则补充:

<ClaimType Id="isActiveMFASession">
  <DisplayName>Is Active MFA Session</DisplayName>
  <DataType>boolean</DataType>
</ClaimType>

验证逻辑

修复完成后,用户首次完成MFA验证时isActiveMFASession会被写入SSO会话,后续SSO登录加载会话时会直接输出该声明,触发MFA步骤的前置跳过规则,不会再重复要求MFA验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:45:04