Угловой клиентский запрос к внутреннему API не может пройти проверку контроля доступа - PullRequest
0 голосов
/ 06 июня 2018

У меня есть угловой клиент 6, который отправляет запрос в отдельный API ядра ASP.NET со следующей конфигурацией в файле startup.cs :

в ConfigureServices метод:

services.AddCors(options =>
{
    options.AddPolicy(
        "MyPolicy",
        builder =>
        {
            builder.AllowAnyOrigin()
                .AllowAnyMethod()
                .AllowAnyHeader()
                .AllowCredentials();
        });
});

in Настройка метод:

// called before UseMvc
app.UseCors("MyPolicy");

При локальном тестировании вызов работает нормально.при развертывании на тестовой машине и обращении к угловому клиенту по его ip и порту, запрос дает:

Failed to load http://xxxIPxx:xxxPortxxx/xxxURLxxx:  Response to
preflight request doesn't pass access control check: No
'Access-Control-Allow-Origin' header is present on the requested
resource.  Origin 'http://xxxIPxx:xxxPortxxx' is therefore not allowed
access. The response had HTTP status code 502.

(это сообщение об ошибке, отображаемое в Google Chrome)

Что можетЯ пропустил?

1 Ответ

0 голосов
/ 06 июня 2018

Вы должны включить заголовок Access-Control-Allow-Origin при запуске запроса из вашего приложения Angular.

Быстрый пример с axios: импорт axios из 'axios';

const Http = axios.create({
  baseURL: 'https://example.com/api',
  headers: { 'Access-Control-Allow-Origin': '*' }
});

export default Http;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...