У меня есть Laravel Настройка проекта Lumen 7 как API для аутентификации с токенами JWT. У меня есть это на поддомене, например: https://api.example.com и мой сайт на https://example.com/ Мой интерфейс встроен в JS фреймворк с использованием Ax ios, чтобы сделать запросов.
Сначала я обнаружил некоторые проблемы с CORS и решил их, добавив некоторое промежуточное программное обеспечение (я пробовал несколько пакетов и различные варианты промежуточного программного обеспечения). Мое текущее промежуточное программное обеспечение: app/Http/Middleware/CorsMiddleware.php
и выглядит следующим образом:
<?php
/**
* Location: /app/Http/Middleware
*/
namespace App\Http\Middleware;
use Closure;
class CorsMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'Content-Type, Authorizations');
}
}
Он зарегистрирован до любого другого промежуточного программного обеспечения как:
$app->middleware([
App\Http\Middleware\CorsMiddleware::class
]);
Однако у меня возникла проблема с одной из моих конечных точек. В частности, при попытке сделать запрос DELETE. Я получаю следующую ошибку:
Доступ к XMLHttpRequest по адресу https://api.example.com/api/auth/user/delete 'from origin' https://www.example.com/ 'заблокирован Политика CORS: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin».
Все мои другие маршруты, такие как POST, GET и PATCH, работают отлично! Я не могу понять, почему этот жалуется!