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

使用custom policy实现可信设备MFA认证多日免验证咨询

可以通过自定义策略配置实现勾选KMSI后MFA认证状态保留指定天数,无需重复验证,具体配置方式如下:

1. 配置MFA会话有效期

在你的自定义策略信赖方(RP)文件的<RelyingParty>节点下,新增/修改会话控制配置,指定MFA会话的保留时长:

<UserJourneyBehaviors>
  <!-- 配置KMSI整体保留天数,X替换为你需要的数值,比如14 -->
  <SingleSignOn Scope="Tenant" KeepAliveInDays="X" />
  <!-- 滑动过期:用户每次访问都会刷新有效期,也可设置为Absolute使用固定过期规则 -->
  <SessionExpiryType>Rolling</SessionExpiryType>
  <!-- 指定MFA会话的计时单位,可选值:InHours、InDays -->
  <MfaSessionDuration>InDays</MfaSessionDuration>
  <!-- 配置MFA状态保留天数,Y建议和上方的KMSI保留天数X保持一致 -->
  <MfaSessionDurationInDays>Y</MfaSessionDurationInDays>
</UserJourneyBehaviors>

2. 调整用户旅程的MFA触发逻辑

在用户旅程中触发MFA验证的编排步骤前,新增前置判断条件:如果用户已存在有效的MFA会话,且已勾选KMSI选项,则直接跳过MFA验证步骤,参考配置如下:

<OrchestrationStep Order="X" Type="ClaimsExchange">
  <Preconditions>
    <!-- 不存在活跃MFA会话时才执行当前步骤,否则跳过 -->
    <Precondition Type="ClaimsExist" ExecuteActionsIf="false">
      <Value>isActiveMfaSession</Value>
      <Action>SkipThisOrchestrationStep</Action>
    </Precondition>
    <!-- 未勾选KMSI时才执行当前步骤,否则跳过 -->
    <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
      <Value>extension_kmsiEnabled</Value>
      <Value>True</Value>
      <Action>SkipThisOrchestrationStep</Action>
    </Precondition>
  </Preconditions>
  <ClaimsExchanges>
    <ClaimsExchange Id="PhoneFactor-Verify" TechnicalProfileReferenceId="PhoneFactor-InputOrVerify" />
  </ClaimsExchanges>
</OrchestrationStep>

3. 配置验证

按你给出的测试场景验证即可:

  • 首次登录应用,勾选「记住我」选项,完成MFA验证后成功登录
  • 关闭浏览器重新打开访问应用,系统读取已留存的MFA会话状态,直接完成登录,不会弹出MFA验证页面

注意:如果你的自定义策略中包含自研的会话清理、声明重置逻辑,需要确保不会提前清除MFA会话相关的声明,否则会导致上述配置不生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 20:36:03