Я пытаюсь работать с AspNetCore, и я застрял в этом. Когда я отправляю запрос с помощью почтальона, все работает нормально, но когда я пытаюсь сделать это с помощью браузера, это не работает. Я использую AspNetCore 3.1.
Startup.cs
namespace PMES.HelpDesk.WebAPI
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
//...
services.AddCors(opt =>
{
opt.AddPolicy("AllowOrigin", options => {
options.AllowAnyOrigin();
options.AllowAnyMethod();
options.AllowAnyHeader();
});
});
//...
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
IdentityModelEventSource.ShowPII = true;
}
else
{
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseCors("AllowOrigin");
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
}
Сообщение об ошибке
Доступ к XMLHttpRequest в 'http://localhost: 5000 / api / session / authenticate ' from origin 'http://localhost: 8080 ' заблокирован политикой CORS: Ответ на запрос предполетной проверки не пройти проверку контроля доступа: перенаправление не разрешено для предварительного запроса.
РЕДАКТИРОВАТЬ 1
Мой внешний интерфейс построен с Vue, и это мой запрос
axios
.get(`http://localhost:5000/api/session/authenticate`, {
headers: {
Authorization:
'Bearer ' +
'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMTQ0NjE3Nzc0MiIsIm5hbWUiOiJGZWxpcGUgRW5kbGljaCIsImlhdCI6MTUxNjIzOTAyMiwiZXhwIjoxNTk2MzM5MDIyfQ._VcxTFt6N0oe-QKeyant8lCzcpC2AL69tFcADLBbXO0'
}
})
.then(response => {
window.console.log(response.data);
})
.catch(error => {
window.console.log(error);
});
РЕДАКТИРОВАТЬ 2
Когда я отправляю запрос почтальона, я получаю эти заголовки
Date: Thu, 06 Feb 2020 20:08:11 GMT
Server: Kestrel
Content-Length: 0
Allow: GET
Access-Control-Allow-Origin: *