Как включить cors в ASP.NET ядро 3.0
Привет,
Я пытаюсь включить cors в asp.net ядро 3.0
Я добавил следующий код в ConfigureServices в Startup.cs
services.AddCors(options => { options.AddDefaultPolicy( builder => { builder.WithOrigins("https://ogrencievi.net") .AllowAnyOrigin() .AllowAnyHeader() .AllowAnyMethod(); }); });
и настроить;
app.UseCors();
Автозагрузки.в CS;
public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddCors(options => { options.AddDefaultPolicy( builder => { builder.WithOrigins("https://ogrencievi.net").AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod(); }); }); services.AddDbContext<OEDBContext>(_ => _.UseSqlServer("Data Source=.... Initial Database=ogrencievidb.mdf;Integrated Security=false; User ID=..;Password=...; MultipleActiveResultSets=True;")); services.Configure<AuthOptions>(Configuration.GetSection("AuthOptions")); var authOptions = Configuration.GetSection("AuthOptions").Get<AuthOptions>(); services.AddAuthentication(options => { options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidateAudience = true, ValidateLifetime = true, RequireExpirationTime = true, ValidIssuer = authOptions.Issuer, ValidAudience = authOptions.Audience, IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(authOptions.SecureKey)), ClockSkew = TimeSpan.Zero, }; }); services.AddControllers(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseRouting(); app.UseCors(); app.UseAuthentication(); app.UseAuthorization(); app.UseHttpsRedirection(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); } }
Проект, над которым мы работаем api.ogrencievi.net и этот код должен добавить функцию Access-Control-Allow-Origin в раздел заголовков, но она не работает.
Как я могу это исправить ?
Что я уже пробовал:
Я сделал это, посмотрев на эту ссылку.
https://docs.microsoft.com/tr-tr/aspnet/core/security/cors?view=aspnetcore-3.0 | Майкрософт документы[^]>
Я также изучил эту страницу и попытался реализовать ее;
в C# - Как включить CORS в ASP.net основной веб-API - переполнение стека[^]
Maciej Los
Попробуйте добавить в Configure
метод этой строки:
app.UseCors( options => options.WithOrigins("https://ogrencievi.net").AllowAnyMethod()
И удалить подобную строку из
ConfigureServices
.
Kaan Öztürk
Я пытался, но ничего не вышло :/