我已經部署了API App
天青,但我有,如果驗證(與AAD)設置爲ON創建API客戶端的問題。如何飲用Azure的REST API應用程序與Azure的Active Directory的授權在
當我嘗試生成服務客戶端(當身份驗證爲OFF時),然後生成客戶端代碼(使用Autorest完成)並且代碼正常工作,但是當我切換身份驗證開啓時(以及在請求未通過身份驗證時採取的操作被設置爲Login with Azure Active Directory
),然後
1)服務調用返回401 Unauthorized
(不重定向到AAD登錄頁)
2)然後我試圖生成服務端一次(從項目的上下文菜單 - >添加 - > REST API客戶端 - >然後在對話框中選擇「選擇Azure資產」,然後按「確定」,並收到消息"Failed to download metadata file for Microsoft Azure API App: ...app name..."
(和「沒有附加信息可用「)
我(使用Express設置)根據本Azure的手動實現AAD:
根據這個視頻時,也和一切什麼是在這個視頻中所示是工作,除了AAD未證實......對我來說不工作...
有什麼建議?
編輯
1)如果我輸入請求的URL(即REST API客戶端使用)的網絡瀏覽器 - 然後返回結果有效 2)我發現我使用REST API無憑據(我認爲Azure的AD登錄屏幕應該在這種情況下提出的...但它不是)
EDIT 2
我得到了一些進步 - 到了AAD登錄屏幕,但進入後華創dentials我得到的bearer token
,但是當我嘗試查詢服務,我得到一個錯誤信息:
AADSTS65005: The client application has requested access to resource 'https....azurewebsites.net'. This request has failed because the client has not specified this resource in its requiredResourceAccess list. Trace ID: 4176e... Correlation ID: 1d612d... Timestamp: 2016-11-13 18:28:34Z
這些是遠遠得到這個我已經做了步驟:
0)添加了Microsoft.IdentityModel.Clients。ActiveDirectory中的NuGet包到客戶端項目
1)登記在Azure中的Active Directory我的客戶端應用程序
2)從客戶端應用程序調用REST API的時候,我加入ServiceClientCredentials
3)創建ServiceClientCredentials當我提供4元件 -authority =這是從AAD應用註冊 - >端點=>聯邦元數據文檔vērtība(無起始部分http://login.windows.net/
)
-resource =>這是REST API URI(=>目標資源的標識符這是收到的請求令牌的收件人)
-clientId =>這是我註冊客戶端應用程序在AAD後得到的應用程序ID -redirect Uri =>因爲我的客戶端應用程序是本機應用程序,那麼這只是任何有效的網址
如何在我的客戶端應用程序中指定此資源?
client has not specified this resource in its requiredResourceAccess list
P.S.此資源爲我提供了查找解決方案所需的大部分資源http://developers.de/blogs/damir_dobric/archive/2016/05/24/aad-authentication-with-rest-api-client.aspx – Prokurors