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

如何使用Rest API编辑/删除Azure AD B2C应用注册及401问题排查

解决Azure AD B2C应用注册编辑/删除时的401未授权问题

你遇到的核心问题是混用了不同版本的Graph API,且令牌受众不匹配,具体原因和解决方法如下:

  • API版本不兼容:你创建应用用的是当前官方推荐的Microsoft Graph API(graph.microsoft.com),但编辑/删除操作调用的是已弃用的Azure AD Graph API(graph.windows.net),这两个API的令牌校验规则完全不同。
  • 令牌受众(aud声明)不匹配:你的授权令牌是针对Microsoft Graph生成的(aud值为https://graph.microsoft.com),但Azure AD Graph API要求令牌的aud必须是https://graph.windows.net,因此会返回401未授权错误。

推荐解决方案:统一使用Microsoft Graph API完成操作

Azure AD Graph API已被官方弃用,建议全程使用Microsoft Graph API:

  1. 编辑应用注册:发送PATCH请求
    PATCH https://graph.microsoft.com/v1.0/myorganization/applications/{applicationId}
    
    请求体示例(修改应用显示名称):
    {
      "displayName": "更新后的应用名称"
    }
    
  2. 删除应用注册:发送DELETE请求
    DELETE https://graph.microsoft.com/v1.0/myorganization/applications/{applicationId}
    

权限验证要点

确保你的授权令牌包含正确的Microsoft Graph权限:

  • 应用权限:需配置Application.ReadWrite.All,并完成管理员同意
  • 委派权限:需配置Directory.AccessAsUser.All,且用户登录后需管理员同意该权限

不推荐的临时方案(仅特殊场景使用)

如果必须继续使用Azure AD Graph API,需重新获取适配该API的令牌:

  1. 在应用注册中添加Azure AD Graph的对应权限(如Application.ReadWrite.All)
  2. 获取令牌时,将scope参数设置为https://graph.windows.net/.default(应用权限场景)或对应的委派权限范围
  3. 验证令牌的aud声明是否为https://graph.windows.net

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 02:05:02