If you are getting the following error in your Ionic app while calling your APIs:
Failed to load resource: Origin capacitor://localhost is not allowed by Access-Control-Allow-Origin. Status code: 200
then you need to add a CORS entry in your AllowedOrigins list at the API end application.
Below is an example of what to do when the API end point is a dotnet core application:
In the app config add capacitor://localhost to a property named AllowedOrigins.
{ "AppName": "Your App", "AllowedOrigins": "capacitor://localhost", }
In the above we added capacitor://localhost as an allowed origin.
Next, in main method of Program.cs in dotent core application, we need to add the following code to make use of that property
var allowedOrigins = configuration["AllowedOrigins"]; if (!string.IsNullOrEmpty(allowedOrigins)) { var origins = allowedOrigins.Split(";"); app.UseCors(x => x.AllowAnyHeader().AllowAnyMethod().WithOrigins(origins) .AllowCredentials());// to allow cookies to be set from the server to the client. }
Restart the dotnet core application. The CORS issue will be fixed now.