我正在运行一个应用程序几周,我可以在Azure Active Directory中CRUD用户。为此,我在https://apps.dev.microsoft.com/#/application注册了一个Microsoft Graph应用程序权限User.ReadWrite.All
的应用程序,根据the documentation这应该是足够的。对于目标Azure AD我得到了admin consent。一切都按预期工作到今天(就在昨天我用它来删除/更改一些用户)。
但是今天当我尝试删除用户时:
DELETE https://graph.microsoft.com:443/v1.0/users/cb4b831d-d199-46f6-b605-7f740db43f77
我收到了一个Microsoft.Graph.ServiceException:
Code: Authorization_RequestDenied
Message: Insufficient privileges to complete the operation.
StatusCode: Forbidden
我正在使用的JWT令牌是这样的:
{
"aud": "https://graph.microsoft.com",
"iss": "https://sts.windows.net/3e6b8333-c708-4fa9-85d5-b38544125dc5/",
"iat": 1536736865,
"nbf": 1536736865,
"exp": 1536740765,
"aio": "42BgYCg959At7uqtzRE+cZPzsk52AA==",
"app_displayname": "My Application",
"appid": "5c02d1d6-a978-4139-a183-df9c40a5ea63",
"appidacr": "1",
"idp": "https://sts.windows.net/3e6b8333-c708-4fa9-85d5-b38544125dc5/",
"oid": "461e08f0-4f2d-4965-81b2-6fa25bab4b9a",
"roles": [
"User.ReadWrite.All",
... // Some more roles
],
"sub": "461e08f0-4f2d-4965-81b1-6fa25bab4b9a",
"tid": "3e6b8333-c708-4fa9-85d5-b38544125dc5",
"uti": "MjEZIJffRk61f--eTphYAA",
"ver": "1.0"
}
如果我要使用管理员的用户令牌删除用户,它将按预期工作。所以请求本身和参数似乎没问题,只是应用程序的标记不再起作用。
所以有人有任何想法或解释,为什么从今天起我的应用程序无法删除/更改用户?
突然间,今天一切都按预期再次运行,我的网站上没有任何代码更改。
删除和更改用户只是按预期工作。这很奇怪,我不删除这个问题/答案,只是为了让每个人都意识到有时图形界面表现得很尴尬。