Azure AD - 删除AppRoleAssignment未禁用该应用程序

时间:2017-01-02 12:42:27

标签: c# azure active-directory azure-active-directory azure-ad-graph-api

我正在开发一项能够禁用用户应用的服务。这意味着对于特定的Office帐户,请禁用针对Azure AD进行身份验证的特定应用程序。

为了测试我的服务,我订购了2个办公室365 E1账户和一个天蓝色的试用版。

为了测试停用某个应用,我在其中一个移动设备上下载了Nine并与我的Office-365帐户相关联。

然后,我使用以下REST请求查询Azure Graph API:

  1. GET <BASE>/users

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

    (BASE = https://graph.windows.net/[tenant-id]/

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

  2. GET <BASE>/servicePrincipals

    为具有appDisplayName的那个提取服务主管的ID :“办公室365的九”。我将用 [原理]

  3. 表示
  4. GET <BASE>/servicePrincipals/[principle]/appRoleAssignedTo

    并收到:

      

    “odata.metadata”: “https://graph.windows.net/[removed]/ $元数据#directoryObjects / Microsoft.DirectoryServices.AppRoleAssignment”,   “value”:[{“odata.type”:“Microsoft.DirectoryServices.AppRoleAssignment”,
           “的objectType”: “AppRoleAssignment”,
           “对象ID”: “[ AppRoleAssignmentId ]”,
           “deletionTimestamp”:空,
           “creationTimestamp”: “2017-01-01T17:04:45.1033993Z”,
           “ID”: “00000000-0000-0000-0000-000000000000”,
           “principalDisplayName”: “汤姆”,
           “principalId”: “[删除]”,
           “principalType”: “用户”,
           “resourceDisplayName”:“Office 365的九个”,
           “RESOURCEID”: “[原理]”     },

  5. 最后 -

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

    并收到204作为回复代码。

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

1 个答案:

答案 0 :(得分:1)

AppRoleAssignment用于记录何时将用户或组分配给应用程序。删除此记录不会禁用该应用程序。有关此实体的更多详细信息,请参阅here

要禁用该应用程序,我已在此thread中回答。请随时告诉我您是否还有问题。

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

enter image description here