首页 文章

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

提问于
浏览
1

我在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."
}

响应 .

浏览文档没有结果 .

1 回答

  • 1

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

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

相关问题