Проблема CORS с приложением React и API Laravel - PullRequest
0 голосов
/ 16 мая 2019

У меня есть приложение React на http://localhost:3000/ и Laravel API находится на http://localhost/blog/public/api/
Я получаю следующую ошибку

Доступ к выборке в 'http://localhost/blog/public/api/auth/signin' из источника' http://localhost:3000' заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Если непрозрачный ответ отвечает вашим потребностям, установите режим запроса «no-cors», чтобы получить ресурс с отключенным CORS.

Error Screenshot

Вот заголовки ответа: -

Response Headers Screenshot

Я пробовал через htaccess, https://packagist.org/packages/barryvdh/laravel-cors

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

Ошибка, которую вы получаете из-за того, что заголовки политики CORS не установлены на вашем ресурсе (вашем Laravel API).
Я вижу, вы знаете о пакете cors для barryvdh , не могли бы вы проверить, выполнили ли вы процесс установки этого пакета?

В частности, в вашем файле Http/Kernel.php есть следующее:

protected $middleware = [
    // ...
    \Barryvdh\Cors\HandleCors::class,
];

или

protected $middlewareGroups = [
    'web' => [
       // ...
    ],

    'api' => [
        // ...
        \Barryvdh\Cors\HandleCors::class,
    ],
];

Первый внедряет промежуточное программное обеспечение глобально в ваше приложение, второй внедряет его в API Api Guard, если вы определили свои маршруты API в routes/api.php, он также должен работать.


Кроме того, вы можете попробовать опубликовать конфигурацию пакета с помощью php artisan vendor:publish --provider="Barryvdh\Cors\ServiceProvider" и изменить разрешенные заголовки на 'allowedHeaders' => ['*'],

0 голосов
/ 16 мая 2019

В Laravel для доступа к API без ошибки CORS вам нужно добавить CORS PKG в ваш проект Laravel.

https://github.com/barryvdh/laravel-cors

Вы можете использовать это, чтобы исправить эту ошибку.

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