У меня есть следующий API-код. net core
public void ConfigureServices(IServiceCollection services)
{
..............
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder
.AllowAnyMethod()
.AllowAnyHeader()
.WithOrigins("https://domain.com.xx")
.AllowCredentials()
);
});
services.AddControllers();
services.AddMvc().AddMvcOptions(x=>x.EnableEndpointRouting = false);
}
и мой метод Configure как
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
//app.UseHsts();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseCors("CorsPolicy");
app.UseMvc();
}
Я получаю Доступ к XMLHttpRequest в ' https://apiservername/api/mycall 'от источника' https:domain.com.xx 'был синхронизирован политикой CORS: в запрошенном ресурсе отсутствует заголовок' Access-Control-Allow-Origin '.
Клиент находится в Angular 7, и метод, который я вызываю, является методом POST. Я всегда работал с http. На стороне клиента на перехватчике я добавляю
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
............
....
url: request.url.replace('http://','https://')
}
и задаюсь вопросом, не упускаю ли я что-то здесь. Сайт клиента (In angular) и сторона API (. NET Core ASP 3.1) настроены как https. --- отредактировано-- Я включил обработку исключений и после этого получил сообщение об ошибке ниже от просмотра событий.
System.InvalidOperationException: IDX20803: Unable to obtain configuration from: 'https://login.microsoftonline.com/common/.well-known/openid-configuration'.
---> System.IO.IOException: IDX20804: Unable to retrieve document from: 'https://login.microsoftonline.com/common/.well-known/openid-configuration'.
---> System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it.
---> System.Net.Sockets.SocketException (10061): No connection could be made because the target machine actively refused it.
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
Означает ли это, что проблема связана с аутентификацией токена? Я использую Azure AD для проверки подлинности имени входа, а затем проверяю его для использования основных веб-интерфейсов asp. net.