[英]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.