我正在尝试创建一个“重置密码”页面,该页面将采用已登录用户的新密码来重置Azure AD中该用户的密码。我已经阅读了下一页中有关用户更新API的信息。
https://docs.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0&tabs=cs
我有
Directory.ReadWrite.All
User.ReadWrite.All (delegated)
和
Azure AD配置页面中的User.ReadWrite.All (Application)
权限。我在SO中询问了另一个查询,以通过MS Graph API创建用户,在该查询中,我学习了如何创建访问令牌。我正在按照相同的过程来获取用于调用“用户更新API”的访问令牌。在邮递员中,我传递的是以下值。
PATCH https://graph.microsoft.com/v1.0/users/principalname@blah.in
Content-type: application/json
Authorization: bearer TOKEN
{
"passwordProfile":
{
"forceChangePasswordNextSignIn":false,
"password": "XXXXXXXXX"
}
}
执行此操作时,出现以下错误
{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"request-id": "1ab4e11b-57e7-481f-9d93-296a3dece72c",
"date": "2019-05-10T05:13:19"
}
} }
我无法理解为什么出现此错误,因为为用户提供了所有权限。
在发布此问题之前,我已经解决了SO中与“权限不足以完成操作”相关的所有问题。
答案 0 :(得分:1)
由于更新passwordProfile
属性时,您需要Directory.AccessAsUser.All
权限。
请参阅:https://docs.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0&tabs=cs