0

我試圖獲取授權碼和令牌來訪問時間序列環境。AADSTS65005:資源無效。 (Azure時間系列洞察API)

我在Azure Active Directory中創建了一個應用程序,並按照link中的說明爲其授予訪問時間序列環境的權限。之後,我得到了我的client_id(應用程序ID),client_secret(應用程序密鑰)和我的租戶ID。

然後我試圖按照此link中的說明進行操作,我試圖在瀏覽器中獲取資源「https://api.timeseries.azure.com/」的驗證代碼。我在我的瀏覽器中插入的地址是這樣的:

https://login.microsoftonline.com/{tenant}/oauth2/authorize?client_id={client_id}&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%2F&response_mode=query&resource=https%3A%2F%2Fapi.timeseries.azure.com%2F&state=12345 

我三倍檢查值,並在我看來,這一切都是正確的,但我不斷收到在瀏覽器中出現以下錯誤:

AADSTS65005: Invalid resource. The client has requested access to a resource 
which is not listed in the requested permissions in the client's application 
registration. Client app ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Resource 
value from request: https://api.timeseries.azure.com/. Resource app ID: 
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. List of valid resources from app 
registration: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. 

感謝您的幫助。

+0

只是爲了確保Azure門戶內部,您是否將時間序列資源添加到您的應用程序權限? –

+0

嗨,丹尼爾,謝謝你的迴應。在時間系列環境頁面中,我在數據訪問策略部分添加了註冊的應用程序。 在Azure Active Directory中 - >應用程序註冊 - >時間序列環境 - >設置 - >所需的權限 - >添加API訪問 - >選擇一個API, 我沒有看到任何與時間序列資源相關的API。 –

回答

0

終於發現了什麼問題。我是微軟Azure的一個新手,但終於明白了。

問題是參數資源的值爲「https://api.timeseries.azure.com/」,當它應該具有我試圖訪問的資源的已註冊App(服務主體)的應用程序標識時。

我還需要創建另一個註冊的應用程序作爲客戶端,並在所需的權限中添加了我的資源的註冊應用程序。我錯過了這一步,因爲當試圖將API添加到所需的權限時,它沒有顯示我的資源的已註冊應用程序名稱,除非我使用名稱的首字符進行篩選,如您在https://blog.hompus.nl/2017/03/25/missing-azure-apis-when-adding-permissions-to-an-azure-ad-app/中所看到的那樣。

在這種情況下,client_id參數應具有客戶端的註冊應用程序的應用程序ID。

之後,我在瀏覽器中插入了正確值的地址,確認訪問並且瀏覽器返回了認證碼。