了解是否以及何时给予管理员同意



是否可以查询图形 API 并查找目录管理员是否同意应用程序以及何时完成?

如果是这样,我将如何去做?

您必须查询 oauth2PermissionGrants。若要获取它们,必须知道目标目录中应用程序服务主体的对象 ID。如果您知道应用程序的客户端 ID,则可以获得该 ID。

例如,如果我从 Azure AD 图形 API 查询https://graph.windows.net/<tenant id>/servicePrincipals/6e56b47c-4c6e-40f5-aa95-16a0b1cb44fc/oauth2PermissionGrants

{
  "odata.metadata": "https://graph.windows.net/<tenant id>/$metadata#oauth2PermissionGrants",
  "value": [
    {
      "clientId": "6e56b47c-4c6e-40f5-aa95-16a0b1cb44fc",
      "consentType": "AllPrincipals",
      "expiryTime": "2017-12-19T09:25:32.3581755",
      "objectId": "fLRWbm5M9UCqlRagsctE_M7PF6398j5LkfWqCoLpQBI",
      "principalId": null,
      "resourceId": "ad17cfce-f2fd-4b3e-91f5-aa0a82e94012",
      "scope": "User.Read",
      "startTime": "0001-01-01T00:00:00"
    }
  ]
}

可以看到此特定服务主体已在适用于所有主体的 Azure AD 图形 API 上授予 User.Read 范围,这意味着管理员同意。如果是个人用户同意,则 consentType 将为主体,主体 ID 设置为给予同意的用户的 ID。

请注意,您无法知道何时给予同意。

最新更新