Laravel Lumen 7.x CORS при удалении API - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть 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, работают отлично! Я не могу понять, почему этот жалуется!

...