You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Azure B2C中为应用配置每日仅强制一次的MFA(而非每次登录都验证)

实现Azure B2C MFA每日仅验证一次的具体配置方案

嘿,这个需求我刚好帮客户配置过,核心是要结合用户流的会话管理和条件访问的登录频率设置来实现,给你一步步拆解具体操作:

1. 先调整现有用户流的会话有效期

首先得确保用户的登录会话能维持一整天,不然条件访问的设置也白搭:

  • 登录Azure门户,进入你的B2C租户后台
  • 找到你正在用的那个带邮箱验证MFA的用户流,点击进入详情页
  • 左侧菜单栏选会话选项卡:
    • 把**Web应用会话生存期(分钟)**设为1440(刚好24小时)
    • 开启会话令牌可续订,然后设置Web应用会话空闲生存期(分钟),比如设成480(8小时),避免用户中途操作时会话意外失效
    • 这里的设置是让用户的登录会话保持24小时,为后续的MFA频率控制打基础

2. 配置条件访问策略控制MFA触发频率

接下来用条件访问的登录频率规则,让MFA只在每日首次登录时触发:

  • 在B2C租户后台找到条件访问模块(注意是B2C专属的,不是全局Azure AD的条件访问)
  • 点击新建策略,给策略起个好记的名字,比如「每日仅需一次MFA验证」
  • 分配规则配置
    • 用户和组:选择你要应用这个规则的用户/组,或者直接选所有用户
    • 云应用或操作:一定要选对你的目标企业应用,别选错了
  • 访问控制配置
    • 授予,勾选需要多重身份验证,然后点选择确认
    • 切换到会话选项卡:
      • 勾选登录频率,然后选择每24小时
      • 这个设置会让用户在24小时窗口内,首次登录必须完成MFA,当天后续的注销再登录只需要用户名+密码
  • 最后记得启用策略,点击创建完成配置

3. 几个关键注意事项

  • 一定要让用户流的会话生存期和条件访问的登录频率保持一致(都是24小时),不然会话提前过期会导致MFA被重复触发
  • 测试的时候,建议先通过B2C的注销端点完全清除会话:https://<你的租户名>.b2clogin.com/<你的租户名>.onmicrosoft.com/<你的用户流名称>/oauth2/v2.0/logout,然后第一次登录会触发MFA,当天内再登录就不会再要求验证了
  • 如果用户更换设备或者清除了浏览器缓存,系统会判定为新会话,需要重新完成MFA,这是正常的安全机制,没法完全规避

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

火山引擎 最新活动