【问题标题】:MS Graph Api Read Users that gave permissionsMS Graph Api 读取授予权限的用户
【发布时间】:2020-09-10 11:23:24
【问题描述】:

我有一个只需要委派权限的天蓝色应用注册。 用户允许以下范围:

如何获取授予此访问权限的用户列表? 我需要这个来获取内部用户 ID。我的应用程序只有电子邮件,我需要使用 api 获取 id。

/Users 上的过滤器不会起作用。没有权限。。 但我不想分配范围“User.Read.All”,因为它需要管理员批准。

【问题讨论】:

    标签: azure graph microsoft-graph-api


    【解决方案1】:

    您需要做的是读取用户和 MS Graph API 服务主体之间的 oauth2PermissionGrants/delegated 权限授予。 文档:https://docs.microsoft.com/en-us/graph/api/user-list-oauth2permissiongrants?view=graph-rest-1.0&tabs=http

    您可以通过以下方式查询:

    GET /users/{id | userPrincipalName}/oauth2PermissionGrants
    

    我尝试按范围过滤,但遗憾的是没有奏效,因此您可能需要解析它返回的列表以找到您正在寻找的范围。 您还应该在租户中找到 MS Graph API 的服务主体/企业应用程序的 objectId 并按此过滤。 这样您就不会错误地查看另一个 API 的范围。

    此端点至少需要 Directory.Read.All 权限。 您需要得到管理员的批准才能获取此数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-16
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 2017-05-19
      • 2017-04-07
      • 1970-01-01
      相关资源
      最近更新 更多