【问题标题】:Insufficient privileges error when trying to access Azure Graph APIs尝试访问 Azure Graph API 时出现权限不足错误
【发布时间】:2015-04-11 01:10:09
【问题描述】:

我已经设置了一个 Azure AD 应用程序,我想将它与我的 Web 应用程序一起使用。我使用以下步骤获得了 oAuth 令牌:

首先我要了我的授权码:

https://login.windows.net/common/oauth2/authorize?redirect_uri={REDIRECT_URI}&client_id={CLIENT_ID}&response_type=code&state=o365&prompt=admin_consent

这会将用户带到 login.windows.net 页面,他们必须接受我的应用程序将在其 AD 上使用的权限。

之后,我使用此端点https://login.windows.net/common/oauth2/token 和此有效负载使用 C# 获取 oAuth 令牌:

{"code": {AUTH_CODE}},
{"state", {STATE}},
{"grant_type", "authorization_code"},
{"redirect_uri", "{REDIRECT_URI}"},
{"client_id", "1ff78c4b-414f-44c7-834b-09bdae96f440"},
{"client_secret", "{CLIENT_SECRET}"},
{"resource", "https://graph.windows.net"}

一切都恢复正常,我得到了我的 oAuth 令牌。但是,当我尝试使用令牌卷曲 Graph API 时,出现此错误

curl https://graph.windows.net/{tenant}/users?api-version=1.5 -H "Authorization: Bearer [AUTH_TOKEN]"

{"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."}}}

我已经尝试了 {tenant} 的实际域、“me”别名和“myorganization”别名,但它们都不起作用。 “我”别名返回一个错误,指出“用户”资源不存在。我对这里的问题感到困惑

【问题讨论】:

  • 嗨,马特。您的应用程序请求什么权限?例如,默认的“登录并阅读我的个人资料”不允许应用读取其他用户的个人资料信息。

标签: c# azure oauth


【解决方案1】:

您的应用程序缺少权限,这会阻止 azure AD 读取您的自定义 AD 中存在的用户的详细信息。以下是您需要做的:

在 Windows azure 管理门户上转到您的自定义 AD -> 单击应用程序选项卡 -> 单击您的 AD 应用程序的名称以转到其详细信息视图。在详细信息视图中转到配置选项卡。

现在向下滚动到页面底部以到达“其他应用程序的权限”部分。在那里,您将在委派权限多选列表框中看到当前分配给“Windows Azure Active Directory”应用程序的所有权限,如下所示:

选中“访问您组织的目录”和“读取目录数据”复选框。单击底部工具栏中的保存以保存更改。只要您在页面上进行任何更改,保存按钮就会自动出现。保存按钮在上面的屏幕截图中不可见,因为我在截屏时已经保存了更改。

现在再次尝试使用图形 API 访问您的 AD 用户详细信息。它不应再出现“权限不足”错误。希望这可以帮助!

【讨论】:

  • 嗨,Basik,我的 AAD 中没有“启用登录并读取用户个人资料”选项:i.imgur.com/zDtpMHt.png您能告诉我为什么会这样吗?
  • @Vladimir 您对上述评论有什么解决方案吗?
  • @Vladimir 屏幕截图显示了应用程序权限,缺少的权限将在委派权限下找到。你确定你在正确的地方寻找它吗?
【解决方案2】:

就我而言,我必须删除在新门户中创建的 Azure AD 应用注册,然后在经典门户中重新创建它们。这样做之后,“权限不足”错误消失了,一切正常。

作为先决条件,请确保您也被从经典门户添加为订阅的共同管理员,否则 Azure 甚至不会再让您进入经典门户。

似乎微软在新门户方面仍有一些问题需要解决......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 2018-05-07
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多