我已经在 C# .net Core 项目上启用了 CORS。
在 startup.cs
中,我添加了以下行:
...
services.AddCors();
...
app.UseCors(builder => builder
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
但是当我尝试在另一个Blazor
项目中使用API时,在主机上的API项目日志中看到以下错误:
CORS协议不允许同时指定通配符(任何)来源和凭据。如果需要支持凭据,请通过列出单个源来配置策略。
Blazor
中的代码:
using (HttpClient http = new HttpClient()) {
http.DefaultRequestHeaders.Add("Authorization", "Token");
var response = await http.GetStringAsync("https://example.com?prm=2");
Console.WriteLine(response);
dynamicContent = response;
}
在启用Cors之前,我在浏览器控制台中看到另一个错误。我可以更改什么来解决它?
Before I enable Cors,我看到浏览器控制台中有另一个错误
我能改变什么以解决它?
*
。将来源设置为您服务器的实际域名。此外,这些标头必须由服务器设置,而不是在客户端标头中设置。 - user47589http.DefaultRequestHeaders.Add("Access-Control-Allow-Origin", "*");
这一行,并且在这一行:var response = await Http.GetStringAsync("https://example.com?prm=2");
把Http
改成http
。 - Igor Cova