Microsoft Graph API - 列出用户登录的所有权限/范围

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Microsoft Graph API - 列出用户登录的所有权限/范围相关的知识,希望对你有一定的参考价值。

我在https://apps.dev.microsoft.com有多个应用程序,用户使用我们网站上的Microsoft帐户登录。每个都需要不同的权限/范围集,例如一些只需要User.Read但有些需要Directory.Read.Alloffline_access等。

有没有办法查询Microsoft Graph API以获取用户登录的所有权限/范围(=同意)?

例如GET https://graph.microsoft.com/beta/currentPermissions

目标是了解是否允许为应用程序上的用户运行特定的API调用。这样可以防止无用的API调用

{
    "code": "Authorization_RequestDenied",
    "message": "Insufficient privileges to complete the operation."
}

响应。

浏览文档没有结果。

答案

如果用户使用工作或学校帐户(Azure AD)登录,您只需查看访问令牌内部以查看User.Read或Files.ReadWrite等权限列表。要在编码之前看到这一点,有像https://jwt.io/这样的工具,你可以给它们你的令牌(只用测试帐户,而不是真实账户),你可以看到令牌中的值(“声明”)。

要在代码中执行此操作,每种语言都有JWT解码库。我不确定你的编程是什么,所以只需搜索GitHub / Google,我相信你会看到很多可用的JWT库。

以上是关于Microsoft Graph API - 列出用户登录的所有权限/范围的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 microsoft graph api 获取 EndRecurrenceDate

用于 Microsoft Teams 消息的 Microsoft Graph Export API 可用了

用于 Microsoft Teams 消息的 Microsoft Graph Export API 可用了

Microsoft Graph API应用程序注册问题

MS Graph API:microsoft.graph.createLink 未创建匿名视图链接

使用 microsoft graph api 检出 onedrive 文件的状态