You need to enable JavaScript to run this app. Microsoft Graph API使用Application Token调用PATCH user更新密码权限报错
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Graph API使用Application Token调用PATCH user更新密码权限报错

问题描述

通过携带Application Token的Node.js Graph API应用更新用户密码,调用端点为PATCH /users/{userId},请求体示例如下:

{
  "passwordProfile": {
    "forceChangePasswordNextSignIn": true,
    "password": "newPassword"
  }
}

已配置全部所需的应用权限和委托权限:User.ReadWrite.All、User.ManageIdentities.All、Directory.ReadWrite.All。目前有开发、生产两个租户,该功能在开发租户运行正常,生产租户调用失败,返回错误:Error: Could not update password. Error: Authorization_RequestDenied。
权限配置截图如下:
权限配置截图1
权限配置截图2
权限配置截图3


解决方案

按以下优先级排查即可定位问题:

  • 确认生产租户的权限已完成管理员同意:仅配置权限而未点击「授予管理员同意」按钮权限不会生效,开发租户大概率之前已完成该操作,生产租户多为遗漏该步骤导致报错。
  • 检查目标用户的角色属性:如果要修改密码的用户属于全局管理员、用户管理员等Azure AD高权限内置角色,普通Graph应用权限默认无法修改这类用户的密码,需要额外给应用注册分配「密码管理员」「全局管理员」等高权限目录角色。
  • 验证Token获取流程是否正确:应用权限需要通过client_credentials流获取Token,确认生产环境配置的客户端ID、客户端密钥/证书和你配置权限的应用注册信息一致,没有混用开发租户的应用信息。
  • 排查生产租户的额外限制:检查生产租户是否设置了自定义密码策略、条件访问策略限制服务主体修改用户密码,可通过Azure AD的审计日志、登录日志查看接口调用被拒绝的具体原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 17:15:02