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

Azure AAD B2C应用配置2FA及令牌有效期遇权限问题求助

解决Azure AAD B2C的2FA强制启用与令牌有效期配置问题

一、策略分配阶段的权限不足问题解决

你在将令牌生命周期策略分配到应用时触发权限报错,原因是当前Graph登录的权限缺少Application.ReadWrite.All(若应用归当前用户所有,也可使用Application.ReadWrite.OwnedBy)。更新登录权限范围后即可解决:

Connect-MgGraph -TenantId 46e0e59c-4d82-4db4-bf08-4a152993cdde -Scopes "Policy.ReadWrite.AuthenticationMethod, Policy.ReadWrite.ApplicationConfiguration, Policy.ReadWrite.TrustFramework, Application.ReadWrite.All"

重新登录后,再次执行策略分配脚本即可成功:

$params = @{
    "@odata.id" = "https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/$tokenLifetimePolicyId"
}

$applicationObjectId="6e5d07b5-0e86-473a-97e5-6684d0874b99"

New-MgApplicationTokenLifetimePolicyByRef -ApplicationId $applicationObjectId -BodyParameter $params

二、强制用户启用2FA后颁发令牌的配置

在AAD B2C中实现该要求,可通过两种方式配置:

方法1:自定义用户流(推荐)

  1. 登录Azure门户,进入你的AAD B2C租户
  2. 左侧菜单选择用户流,点击新建用户流
  3. 选择适配的用户流类型(如「注册和登录」),点击创建
  4. 在用户流配置页:
    • 找到多因素身份验证模块,设置为「始终启用」
    • 进入用户属性和声明,按需添加2FA状态声明(用于验证用户是否已启用2FA)
  5. 保存用户流后,在应用的身份验证设置中,将该用户流关联为登录流

方法2:IEF自定义策略(精细控制场景)

若需更灵活的规则,可编辑IEF策略XML文件:

  1. 在Relying Party (RP) 策略中添加步骤,验证用户是否已启用2FA
  2. 通过ClaimsProvider指定2FA方法,强制用户完成注册或验证流程
  3. 确保策略仅在用户完成2FA验证后,才颁发ID令牌与访问令牌

三、令牌有效期配置补充说明

你已成功创建45分钟的访问令牌生命周期策略,分配到应用后即可生效。若需同时设置ID令牌有效期,可修改策略定义:

$params = @{  
    Definition = @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"PT45M","IdTokenLifetime":"PT45M"}}')  
    DisplayName = "WebPolicyScenario"  
    IsOrganizationDefault = $false  
}  
$tokenLifetimePolicyId=(New-MgPolicyTokenLifetimePolicy -BodyParameter $params).Id

注意:AAD B2C中,令牌生命周期策略仅作用于访问令牌与ID令牌,刷新令牌有效期需单独配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:23:18