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

如何从Microsoft Entra ID获取用户流ID?权限问题排查

解决AADB2C Graph API获取用户流ID的权限错误

问题描述

尝试通过Graph API禁用用户流的注册流程时,获取用户流ID遇到如下权限错误:

{
  "error": {
    "code": "AADB2C",
    "message": "The application does not have any of the required application permissions (Policy.ReadWrite.AuthenticationFlows, EventListener.Read.All, EventListener.ReadWrite.All, Application.Read.All, Application.ReadWrite.All) to access the resource. "
  }
}

操作步骤:

  1. 获取访问令牌请求:
POST https://{{domain}}.ciamlogin.com/{{tenantId}}/oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com:443
Content-Type: application/x-www-form-urlencoded

client_id={{clientId}}
&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default
&client_secret={{clientSecrect}}
&grant_type=client_credentials
  1. 获取用户流ID请求:
GET https://graph.microsoft.com/beta/identity/authenticationEventsFlows HTTP/1.1
Accept: application/json
Authorization: Bearer {{accessToken}}

已添加所需权限,但仍触发报错。

解决方法

  • 确认管理员同意权限:在CIAM租户的应用注册页面进入「API权限」,检查已添加的应用权限(如Policy.ReadWrite.AuthenticationFlows)是否已点击「授予管理员同意」,权限状态需显示为「已授予」。Client Credentials流必须使用已获得管理员同意的应用权限,仅添加权限不会生效。
  • 解析令牌验证权限:将获取到的accessToken复制到令牌解析工具中,检查roles字段是否包含所需权限。如果没有,说明令牌未正确获取权限,需重新确认权限配置和同意状态。
  • 修正令牌请求端点:令牌请求的Host和URL需一致,CIAM的令牌端点Host应为{{domain}}.ciamlogin.com,而非login.microsoftonline.com,否则可能获取的是普通Azure AD令牌,无法访问CIAM的Graph API资源。修正后的请求Host应为:
    Host: {{domain}}.ciamlogin.com:443
    
  • 确认权限类型:确保添加的是应用权限而非委派权限,Client Credentials流仅支持应用权限,委派权限无法在此流程中使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 07:15:04