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

Azure AD B2C数字签名场景强制用户重新认证的实现方案咨询

核心结论

Azure AD B2C 官方已明确将max_age参数的合法区间限制为900~86400秒,没有可绕过该限制的合规方案,建议使用以下替代方案实现操作级别的强制重新认证:

可行方案

  • 方案1:配置独立的事务认证用户流/自定义策略
    单独创建一个仅用于高敏感操作签名认证的B2C用户流,在该用户流的「会话行为」配置中直接禁用SSO持久会话,强制每次触发该流时都要求用户输入凭证。无需依赖max_age参数,触发时直接跳转到该用户流的授权地址即可,回调后即可确认用户完成本次操作的身份核验。
    如果使用自定义策略(IEF),可以在UserJourney中直接配置会话有效期为0,实现每次访问强制登录。

  • 方案2:应用侧结合prompt=login和auth_time校验实现
    发起认证请求时仍然携带prompt=login参数(该参数会强制B2C要求用户重新登录,不受默认会话影响),同时在state参数中嵌入当前请求的时间戳和操作唯一标识。收到回调后,校验ID Token中的auth_time声明:

    1. 确认auth_time晚于你发起请求的时间戳
    2. 确认auth_time和发起请求的时间差在你可接受的范围内(比如60秒以内)
      只要满足以上条件,即可认为用户是为本次操作完成的重新认证,无需依赖B2C侧的max_age限制。该方案无需修改B2C配置,纯应用侧即可实现。
  • 方案3:后端直接调用密码校验接口(仅适用于机密客户端)
    如果你的应用是后端Web应用、服务等机密客户端,可以在敏感操作时前端弹窗让用户输入密码,后端调用Azure AD Graph的密码校验接口核验用户输入的凭证正确性,无需走OIDC授权跳转流程。注意该方案禁止在公共客户端(单页应用、移动端应用)中使用,避免凭证泄露风险。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:39:02