在ASP.NET核心API中为React本机应用程序启用CORS

在ASP.NET核心API中为React本机应用程序启用CORS,asp.net,react-native,asp.net-core,Asp.net,React Native,Asp.net Core,我有一个ASP.NET Core 3.1API后端,它已经配置为允许我的web应用程序使用CORS——请参见下文 我现在正在React Native中构建一个移动应用程序。如何为我的React Native应用程序添加特定的源代码,以便我的API接受来自我的移动应用程序的请求 我不想允许每个人和任何应用程序。我确实希望尽可能保证它的安全,并指定我的web和移动应用程序 下面是我的Startup.cs中当前的内容: services.AddCors(action => acti

我有一个
ASP.NET Core 3.1
API后端,它已经配置为允许我的web应用程序使用
CORS
——请参见下文

我现在正在
React Native
中构建一个移动应用程序。如何为我的
React Native
应用程序添加特定的源代码,以便我的API接受来自我的移动应用程序的请求

我不想允许每个人和任何应用程序。我确实希望尽可能保证它的安全,并指定我的web和移动应用程序

下面是我的
Startup.cs中当前的内容:

services.AddCors(action =>
       action.AddPolicy("AllowSpecificOrigin", builder =>
          builder
          .AllowAnyMethod()
          .AllowAnyHeader()
          .WithOrigins("https://mywebapp.com", "http://localhost:50920", "https://myaccount.service.signalr.net", "http://localhost:3000")
          .AllowCredentials()));

CORS仅适用于来自浏览器的AJAX请求。 通过在应用程序中添加和使用CORS,它所做的只是在响应中添加一个
accesscontrolalloworigin:
头。 然后浏览器可以查找该标题的值,并阻止AJAX或允许


因此,对于web浏览器以外的其他客户端,CORS与访问API无关

CORS只适用于来自浏览器的AJAX请求。 通过在应用程序中添加和使用CORS,它所做的只是在响应中添加一个
accesscontrolalloworigin:
头。 然后浏览器可以查找该标题的值,并阻止AJAX或允许


因此,对于web浏览器以外的其他客户端,CORS与访问您的API无关

,因此,如果我们只是将react本机移动应用程序作为前端,我们是否需要将CORS代码添加到Startup.cs中?不,如果它是本机移动应用程序,则不存在这样的问题谢谢Kebek,我们也不需要将CORS代码添加到Startup.cs中,如果我们只是将react原生移动应用程序作为前端?不,如果它是原生移动应用程序,那么就没有这样的Nee谢谢kebek