2015-02-10 125 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不會讓您進入經典門戶網站。

似乎像微軟仍然有一些問題,錘擊新門戶...

相關問題