2015-02-10 127 views
9

我已成立了,我想用我的web应用程序中使用Azure的AD应用程序时。我已取得OAuth凭证使用以下步骤:权限不足错误试图访问Azure的图形API的

首先,我要求我的授权码:

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页面,在这里他们必须接受的权限,我的应用程序将在他们的广告上使用。

之后,我得到使用OAuth令牌这个端点https://login.windows.net/common/oauth2/token使用C#这样的有效载荷:

{"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令牌。然而,当我尝试使用令牌我得到这个错误

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

我已经尝试了{租户}实际的域时,“我”的别名和“myorganization”别名卷曲的图形API,他们都不要没有工作。 “我”别名返回一个错误,说'用户'资源不存在。我在困惑的问题是什么在这里

+0

嗨马特。你的应用程序请求什么权限?例如,默认的“登录并阅读我的个人资料”不允许应用读取其他用户的个人资料信息。 – 2015-02-12 00:07:07

回答

10

权限缺少您的应用程序被禁止蔚蓝的AD阅读出现在您的自定义广告的用户的详细信息。以下是你需要做的:

转到在Windows Azure管理门户您的自定义广告 - >点击应用程序选项卡 - >点击广告的应用程序的名称,转至其详细信息视图。在细节视图上,转到配置选项卡。

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

Application access rights for Azure AD

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

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

+0

Hi Basik,我的AAD中没有“启用登录和阅读用户配置文件”选项:http://i.imgur.com/zDtpMHt。你能建议为什么可以这样吗? – Vladimir 2015-11-03 20:20:26

+0

@Vladimir你有没有得到任何解决方案以上的评论? – 2016-10-25 14:13:24

+0

@Vladimir屏幕截图显示了应用程序权限,在委托权限下可以找到缺少的权限。你确定你找对了吗? – Alexander 2017-01-11 09:45:52

1

就我而言,我不得不删除我在新的门户网站创建,并在经典门户重新建立他们的Azure的AD应用程序注册。这样做后,“权限不足”错误消失,一切正常。

作为先决条件,请确保您已添加为经典门户网站的订阅作为共同管理员,否则Azure不会让您进入经典门户网站。

似乎像微软仍然有一些问题,锤击新门户...

相关问题