[英]Enable CORS for Azure Rest webapi application
我有一個簡單的jQuery頁面,該頁面調用Azure靜態API來獲取VM的狀態。 我遇到了一個問題,那就是它抱怨跨域資源共享,而我找不到在哪里為我擁有的Web應用程序/ API設置它。
我正在使用客戶端憑據授予來獲取令牌https://docs.microsoft.com/zh-cn/azure/active-directory/develop/v1-oauth2-client-creds-grant-flow
我已經完成測試,當我嘗試從jQuery / JS進行調用時遇到了CORS問題。
我的設置涉及:從Azure門戶,我使用應用程序注冊來注冊類型為“ Web應用程序/ API”的應用程序,為其提供主頁地址“這是它的住所”,並創建了密鑰。
使用
POST https://login.microsoftonline.com/<tenant id>/oauth2/token
grant_type=client_credentials
client_id=application id
client_secret=application key
resource=https://management.core.windows.net/
我是否有任何遺漏? 我的搜索不斷將我引向Azure托管應用
您不能使用前端Javascript中的客戶端機密。 您的客戶秘密將是公開的,基本上是您應用程序的密碼。
客戶端憑據授予適用於后端應用程序。
您需要使用ADAL.JS / MSAL.JS等隱式授予流來獲取令牌。 您的前端應用也是公共客戶端,因此也應注冊為Native。
這是一個示例應用程序: https : //github.com/Azure-Samples/active-directory-javascript-singlepageapp-dotnet-webapi
哦,CORS錯誤來自Azure AD的令牌終結點。 您對此無能為力。
好的,這是簡短的說明:
您可以更具體地說明這些,但這足以獲取令牌。 並且所有其他端點都沒有CORS問題。
祝好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.