Microsoft Graph api 查询管理员授予的应用程序权限

Microsoft Graph api query for granted application permission by administrator

我正在将我的 SPA Web 应用程序与 Microsoft 365 集成。我有一个关于在与 M365 集成时授予的权限的问题。

在成功集成并由管理员在弹出登录中批准权限后 window 体验我想访问资源以绘制图表 api 以查询管理员按顺序授予的权限在前端枚举它们以向我们的用户显示请求了哪些权限以及授予了哪些权限。

我知道有资源可以检查授予的权限,但这些资源例如用于驱动器、共享点用户组。我没有成功找到我可以访问的任何类型的资源并调用 Graph Api 来给我授予应用程序本身的所有权限。获取此信息对我来说很重要,因为用户可以登录 M365 Azure Active Directory 并删除授予的权限之一。在这种情况下,我的应用程序无论如何都不会收到有关该更改的通知,也不会联系 - 可以说没有登录用户的用户消息资源将是不可能的。

在此先感谢您的帮助

您可以使用:

  1. List oauth2PermissionGrants: 授予所有委派(用户)权限。
  2. List appRoleAssignments granted to a service principal:通过服务主体授予其他应用程序的应用程序权限。
  3. List oauth2PermissionGrants:通过其服务主体授予特定应用程序的委托(用户)权限。

2 和 3 使用 beta 端点可能会发生变化,并且在生产应用程序中不受支持。