在某些情况下,由于我们设置了服务器,并且一些开发人员正在使用该服务器构建多个Web应用程序,因此我们需要允许对API进行跨源调用。
过去(.net核心2.1),我们对CORS敞开怀抱,像这样:
services.AddCors(action =>
action.AddPolicy(policyName, builder =>
builder
.AllowAnyMethod()
.AllowAnyHeader()
.AllowAnyOrigin()
.AllowCredentials()));
非常简单,即可完成工作。
自.net core 2.2起,此方法不再起作用,因为它不允许 AllowAnyOrigin 允许 AllowCredentials (Cookie必需通过)由于我们所获得的原始连接是随机的,因此需要。
因此,我们需要Cookie(AllowCredentials),并且我们需要人们能够与浏览器进行REST调用,并能够通过SignalR从任何地方使用任何IP(AllowAnyOrigin)进行通信。
我知道此更改已解决了一个安全问题,但是在某些情况下,我们不关心/不需要安全功能,并且完全打开系统即可。
坚持使用.net core 2.1的人,可以采取什么解决方法?