首页 > 解决方案 > 为 Azure Rest webapi 应用程序启用 CORS

问题描述

我有一个简单的 jQuery 页面,它调用 azure restful API 来获取 VM 的状态。我面临一个问题,它抱怨跨域资源共享,我找不到在哪里为我拥有的 Web 应用程序/API 设置它。

我正在使用客户端凭据授予来获取令牌 https://docs.microsoft.com/en-us/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 托管应用

标签: restazureoauth-2.0corsazure-active-directory

解决方案


好的,简而言之,这是如何做到的:

  1. 添加功能应用程序(按请求收费)
  2. 打开新创建的函数应用
  3. 在代理中,从右侧列表中选择
  4. 给它一个名字,路由模板将是您的新端点 URL,后端 URL是您的登录端点,例如:https ://login.microsoftonline.com//oauth2/token
  5. 之后,返回您的函数应用,选择平台功能选项卡,选择 CORS,删除所有这些并输入您的应用程序 URL 或只是一个 *

您可以对这些更具体,但这足以获得令牌。并且所有其他端点都没有 CORS 问题。

祝你好运。


推荐阅读