首页 > 解决方案 > Azur Key Vault - 在 Azure 应用服务中使用 Azure KeyVault 后出现 CORS 错误

问题描述

我正在尝试从 Azure Key Vault 中获取价值。它在 localhost 中运行良好,但是当我们部署到 Azure 应用服务时。它显示 CORS 错误:

从源“https://xxxxxxx.azurewebsites.net”访问“https://xxxxxxxx.azure-api.net/xxxxxx/api/xxx/xxxx”的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应不'不通过访问控制检查:请求的资源上不存在'Access-Control-Allow-Origin'标头。

我在我的 .Net Core Web API 中使用以下代码:

const string secretName = "XXXXXXXXXXXXXX";
var kvUri = $"https://xxxxxxxx.vault.azure.net";
var client = new SecretClient(new Uri(kvUri), new DefaultAzureCredential());
var secret = client.GetSecretAsync(secretName).GetAwaiter().GetResult().Value;
conString = secret.Value;

提前致谢

标签: azurecorsazure-web-app-serviceazure-keyvault

解决方案


目前不允许 Key Vault 使用 CORS,因为它不是为浏览器使用而设计的。几年前,我与 KV 产品团队讨论了这个问题,并为此功能创建了 UserVoice 提交: https ://feedback.azure.com/forums/906355-azure-key-vault/suggestions/34753195-为密钥库启用 cors


推荐阅读