Azure AD - 删除 AppRoleAssignment 并未禁用应用程序
Azure AD - Deleting an AppRoleAssignment didn't disable the application
我正在开发一项应该能够禁用用户应用程序的服务。这意味着对于特定的办公室帐户,禁用针对 Azure AD 进行身份验证的特定应用程序。
为了测试我的服务,我订阅了 2 个 office 365 E1 帐户和一个 azure 试用版。
为了测试应用程序的禁用,我在我的一台移动设备上下载了 Nine 并连接了我的 Office-365 帐户。
然后我使用以下 REST 请求查询了 Azure Graph API:
GET <BASE>/users
并提取了我的用户ID,我将其表示为[user-id]
(基础 = https://graph.windows.net/[tenant-id]/)
(我所有的网址都以 api-version=1.6 结尾)
GET <BASE>/servicePrincipals
并为具有 appDisplayName 的 服务主体的 ID 提取:"Nine for office 365"。我将用 [原则]
表示
GET <BASE>/servicePrincipals/[principle]/appRoleAssignedTo
并收到:
"odata.metadata":"https://graph.windows.net/[removed]/$metadata#directoryObjects/Microsoft.DirectoryServices.AppRoleAssignment",
"value":[ { "odata.type":"Microsoft.DirectoryServices.AppRoleAssignment",
"objectType":"AppRoleAssignment",
"objectId":"[AppRoleAssignmentId]",
"deletionTimestamp":null,
"creationTimestamp":"2017-01-01T17:04:45.1033993Z",
"id":"00000000-0000-0000-0000-000000000000",
"principalDisplayName":"Tom",
"principalId":"[removed]",
"principalType":"User",
"resourceDisplayName":"Nine for Office 365",
"resourceId":"[principle]"
},
最后 -
DELETE <BASE>/users/[user-id]/appRoleAssignments/[AppRoleAssignmentId]
并收到 204 作为响应代码。
我再次查询了 appRoleAssignment(正如我在第 3 部分所做的那样),我删除的那个实际上被删除了,但是,Nine 仍然可以与服务器同步并接收新消息 .我错过了什么?
AppRoleAssignment
用于记录用户或组何时分配给应用程序。删除这条记录不会禁用应用程序。关于这个实体的更多细节,你可以参考here.
以及禁用应用程序,我已经在thread中回答了。请随时让我知道您是否还有问题。
更新(为用户分配启用的选项)
我正在开发一项应该能够禁用用户应用程序的服务。这意味着对于特定的办公室帐户,禁用针对 Azure AD 进行身份验证的特定应用程序。
为了测试我的服务,我订阅了 2 个 office 365 E1 帐户和一个 azure 试用版。
为了测试应用程序的禁用,我在我的一台移动设备上下载了 Nine 并连接了我的 Office-365 帐户。
然后我使用以下 REST 请求查询了 Azure Graph API:
GET <BASE>/users
并提取了我的用户ID,我将其表示为[user-id]
(基础 = https://graph.windows.net/[tenant-id]/)
(我所有的网址都以 api-version=1.6 结尾)
GET <BASE>/servicePrincipals
并为具有 appDisplayName 的 服务主体的 ID 提取:"Nine for office 365"。我将用 [原则]
表示
GET <BASE>/servicePrincipals/[principle]/appRoleAssignedTo
并收到:
"odata.metadata":"https://graph.windows.net/[removed]/$metadata#directoryObjects/Microsoft.DirectoryServices.AppRoleAssignment", "value":[ { "odata.type":"Microsoft.DirectoryServices.AppRoleAssignment",
"objectType":"AppRoleAssignment",
"objectId":"[AppRoleAssignmentId]",
"deletionTimestamp":null,
"creationTimestamp":"2017-01-01T17:04:45.1033993Z",
"id":"00000000-0000-0000-0000-000000000000",
"principalDisplayName":"Tom",
"principalId":"[removed]",
"principalType":"User",
"resourceDisplayName":"Nine for Office 365",
"resourceId":"[principle]" },最后 -
DELETE <BASE>/users/[user-id]/appRoleAssignments/[AppRoleAssignmentId]
并收到 204 作为响应代码。
我再次查询了 appRoleAssignment(正如我在第 3 部分所做的那样),我删除的那个实际上被删除了,但是,Nine 仍然可以与服务器同步并接收新消息 .我错过了什么?
AppRoleAssignment
用于记录用户或组何时分配给应用程序。删除这条记录不会禁用应用程序。关于这个实体的更多细节,你可以参考here.
以及禁用应用程序,我已经在thread中回答了。请随时让我知道您是否还有问题。