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

Graph API调用返回Authorization_IdentityNotFound错误排查求助

问题分析与调试方案

错误核心说明

Authorization_IdentityNotFound错误本质是Azure AD无法识别调用应用的身份,并非单纯的权限未授予问题——即便已确认权限完成管理员同意,仍需从身份验证全链路排查。

调试步骤

  • 验证访问令牌有效性
    1. 解码获取到的JWT令牌(可使用本地JWT解析工具),重点检查以下字段:
      • tid:确认是否为目标租户ID,避免令牌获取时租户ID填写错误
      • azp/appid:验证是否为当前应用的客户端ID,排除令牌对应应用不匹配的情况
      • roles:确认包含User.Read.All权限,若未出现,说明令牌未正确携带权限(大概率是管理员同意后未重新获取令牌)
  • 检查令牌请求参数
    调用https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token时,确保参数符合应用权限模式要求:
    • grant_type必须为client_credentials
    • scope需设置为https://graph.microsoft.com/.default,应用权限模式下必须使用该值,不能指定具体权限路径
  • 排查Azure AD应用配置
    1. 确认应用注册的租户类型为「单租户」或「多租户」,若为多租户,需确保调用方租户已完成应用的管理员同意
    2. 检查应用是否误开公共客户端流:在Azure门户的应用注册→「认证」→「高级设置」中,确认「允许公共客户端流」处于关闭状态(应用权限模式下无需开启)
  • 查询request-id详情
    通过Azure AD日志获取更具体的失败信息:
    1. 登录Azure门户,进入「Azure Active Directory」→「日志」→「审核日志」
    2. 添加筛选条件:
      • 活动类型:选择「应用程序管理」或「身份验证」
      • 请求ID:填写a1fdaeb3-775d-47ba-8be3-27ce3a134a77
      • 日期范围:覆盖2023-03-15T12:53:29前后的时间区间
    3. 查看日志中的「状态详情」和「失败原因」字段,定位身份验证失败的具体环节

常见坑点

  • 管理员同意权限后,必须重新获取令牌,旧令牌不会自动包含新授予的权限
  • 应用权限模式下,scope参数不能直接写User.Read.All,必须使用https://graph.microsoft.com/.default,否则令牌无法携带应用权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 02:55:12