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:

  1. GET <BASE>/users

    并提取了我的用户ID,我将其表示为[user-id]

    (基础 = https://graph.windows.net/[tenant-id]/)

    (我所有的网址都以 api-version=1.6 结尾)

  2. GET <BASE>/servicePrincipals

    并为具有 appDisplayName 的 服务主体的 ID 提取:"Nine for office 365"。我将用 [原则]

  3. 表示
  4. 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]" },

  5. 最后 -

    DELETE <BASE>/users/[user-id]/appRoleAssignments/[AppRoleAssignmentId]

    并收到 204 作为响应代码。

我再次查询了 appRoleAssignment(正如我在第 3 部分所做的那样),我删除的那个实际上被删除了,但是,Nine 仍然可以与服务器同步并接收新消息 .我错过了什么?

AppRoleAssignment用于记录用户或组何时分配给应用程序。删除这条记录不会禁用应用程序。关于这个实体的更多细节,你可以参考here.

以及禁用应用程序,我已经在thread中回答了。请随时让我知道您是否还有问题。

更新(为用户分配启用的选项)