【发布时间】:2018-10-03 11:27:54
【问题描述】:
当尝试使用应用程序权限更新 (PATCH) 用户的 mobilePhone 属性时,来自 Graph 的响应是“权限不足,无法完成操作”(Authorization_RequestDenied)。
User.ReadWrite.All 和 Directory.ReadWrite.All 权限均已授予。访问令牌通过 client_credentials 授权(oauth2/v2.0/token 端点)请求并指定 .default 范围,并且这两个权限都存在于访问令牌中的 role 声明中。
更新其他属性工作正常。该错误仅在更新 mobilePhone 属性时出现,并且仅具有应用程序权限(使用 Graph Explorer 和管理员用户有效)。
此行为突然开始于 2018 年 10 月 2 日。在此之前,更新手机属性也适用于应用程序权限(相同的权限)。
据我所知,用户 PATCH 请求或 mobilePhone 属性的 Graph 文档中没有添加新的限制/所需权限。这可能是什么问题?
注意:请求是使用 Microsoft.Graph.GraphServiceClient(.NET 标准)发出的,但在使用 Postman 发出请求时也是如此。
编辑:
这是来自 Graph API 的响应:
{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"request-id": "e956cb0b-af0a-4bb7-aae3-59d39d007a82",
"date": "2018-10-11T08:27:19"
}
}
}
【问题讨论】:
-
坦率地说,这听起来像是 Graph API 的一个错误,为了提高知名度,该产品确实遵循 microsoft-graph 标签,所以希望他们注意到这一点 :)
-
确实如此。您能否提供您应该在 403 错误响应中看到的客户端请求 ID 和时间戳,或者仅提供 full 错误响应。这将帮助我们查看日志并弄清楚发生了什么。理论上,User.ReadWrite.All 应该提供足够的权限来允许这种更改。
-
感谢您的回复。 @DanKershaw-MSFT 我已经编辑了问题 - 添加了回复
-
@DanKershaw-MSFT 我们看到了同样的问题。同一应用程序可以在初始创建新用户 (POST) 操作中设置 mobilePhone 字段,但不能在更新用户 (PATCH) 中更改或设置它。
标签: azure-active-directory microsoft-graph-api