我希望獲得無需用戶交互的訪問令牌,以便將對REST API調用自動化到Azure服務(計算,網絡等)。 In the documentation,列出了幾種認證方案。最符合我的用例的是「守護進程或服務器應用程序到Web API」。如何在沒有用戶交互的情況下對Azure Active Directory進行身份驗證?
我跟着instructions請求訪問令牌:首先,我在Azure Active Directory中註冊了一個App。然後我創建了一個與應用程序ID(client_id參數)關聯的密鑰(client_secret參數)。我還獲得了App ID URI(資源參數)。我使用所有這些參數來創建一個POST請求到我的Azure AD的/ token端點。但是,我收到以下錯誤消息:
{
"code":"InvalidAuthenticationTokenAudience",
"message":"The access token has been obtained from wrong audience or resource 'https://solutionsmosaixsoft.onmicrosoft.com/<APP_ID_URI>'. It should exactly match (including forward slash) with one of the allowed audiences 'https://management.core.windows.net/','https://management.azure.com/'."
}
我在做什麼錯?我是否將資源參數設置爲錯誤的值?
在[此頁](https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-service-to-service#request-an-access-token),它表示資源參數爲: '輸入接收Web服務的App ID URI。要查找App ID URI,請在Azure管理門戶中單擊Active Directory,單擊目錄,單擊該應用程序,然後單擊配置。「 此信息是否錯誤? –
@GlebBillig,我編輯了答案來解釋你的問題,請檢查一下。 –