调用Graph API更新用户自定义属性报Authorization_RequestDenied错误如何解决?
故障原因
你遇到的Authorization_RequestDenied异常是客户端凭证模式下调用Graph API更新用户属性时,应用注册的权限配置缺失或未生效导致的。
修复步骤
- 进入Azure门户的Azure AD B2C界面,找到你X-Api对应的应用注册
- 进入「API权限」配置页,添加Microsoft Graph的应用权限,注意不要选委托权限,客户端凭证模式仅支持应用权限:
- 最小权限可选
User.ReadWrite.All,如果有更高操作要求可选择Directory.ReadWrite.All
- 最小权限可选
- 权限添加完成后,必须点击「授予<租户名>的管理员同意」按钮完成权限授权,未完成管理员同意的权限不会生效
- 如果你操作的是B2C自定义扩展属性,需要确认你构造的自定义属性键名格式正确:格式为
extension_<b2c内置extensions应用的应用ID(去除所有横杠)>_<你定义的属性名>,键名错误也可能触发同类权限报错
验证方式
你可以先通过HTTP工具模拟调用流程验证权限配置:
- 用
client_id、client_secret、scope=https://graph.microsoft.com/.default请求令牌接口获取访问令牌 - 解码访问令牌,确认
roles声明中包含你刚才配置的权限名称 - 手动调用PATCH用户接口验证更新操作是否正常,确认权限没问题后再排查业务代码逻辑
内容的提问来源于stack exchange,提问作者Mady
相关产品推荐
相关产品推荐

