Javascript Azure SDK for Node-密钥库管理-CORS飞行前:服务器响应状态为400(错误请求)

Javascript Azure SDK for Node-密钥库管理-CORS飞行前:服务器响应状态为400(错误请求),javascript,node.js,reactjs,azure,azure-keyvault,Javascript,Node.js,Reactjs,Azure,Azure Keyvault,我正在尝试创建一个React.js应用程序,它有一个div: 在函数内部,我从Azure GitHub复制了代码: 当我点击时,它会在Chrome控制台中抛出以下错误 login.microsoftonline.com/common/oauth2/devicecode?api版本=1.0:1 加载资源失败:服务器响应状态为400 (请求错误) localhost/:1未能加载 : 对飞行前请求的响应未通过访问控制检查:否 “Access Control Allow Origin”标头出现在请

我正在尝试创建一个React.js应用程序,它有一个div:

在函数内部,我从Azure GitHub复制了代码:

当我点击
时,它会在Chrome控制台中抛出以下错误

login.microsoftonline.com/common/oauth2/devicecode?api版本=1.0:1 加载资源失败:服务器响应状态为400 (请求错误)

localhost/:1未能加载 : 对飞行前请求的响应未通过访问控制检查:否 “Access Control Allow Origin”标头出现在请求的服务器上 资源。因此,不允许访问源“”。 响应的HTTP状态代码为400。如果一个不透明的回应有效 根据您的需要,将请求的模式设置为“no cors”以获取资源 CORS被禁用

我知道问题是我试图调用的API与
http://localhost/
相同的来源,所以它拒绝

这个应用程序是用webpack(没有特殊的东西)、React.js、Typescript等构建的。它托管在IIS中,只需创建一个应用程序并指向build文件夹

我在问,我如何才能让它工作,因为我不能只向任何请求添加像
accesscontrolalloworigin:
这样的头,因为实现都在npm包中

感谢您的指导。
谢谢。

由于CORS的限制,目前无法从浏览器端web应用程序使用REST API

已经有人要求增加CORS支持,您可以投票

作为一种解决方法,您可以创建一个在服务器上运行的小型web应用程序,并将您的请求代理到密钥库。我已经为此创建了一个小型PHP应用程序,不久将在GitHub上共享。(我将用链接更新帖子。)

您链接的示例是一个Node.js应用程序,可以作为应用程序运行,但不能在浏览器中运行

import * as  msRestAzure  from "ms-rest-azure";
import KeyVaultManagementClient from "azure-arm-keyvault";

public handleClick(evt: any): void {

  // Interactive Login
  let client: any;

  msRestAzure.interactiveLogin().then((credentials) => {
    client = new KeyVaultManagementClient(credentials, "my-subscription-id");
    return client.vaults.list();
  }).then((vaults) => {
    console.dir(vaults, {depth: null, colors: true});
    return;
  })
}
localhost/:1 Uncaught (in promise) TypeError: Failed to fetch