Loading ...

Abilitare CORS in Lumen

Abilitare CORS in Lumen

Sto bloccaggio di richieste a fonti diverse sarà anche una cosa sicura, ma è anche un gran rottura di maroni!

Bene, dopo lo sfogo vediamo come attivare CORS in Lumen.

La cosa è alquanto semplice; la prima cosa è creare un nuovo middleware dentro app -> Http -> Middleware.

Ad esempio:

namespace App\Http\Middleware;

use Closure;

class CorsMiddleware {

    public function handle($request, Closure $next) {
        $headers = [
            'Access-Control-Allow-Origin' => '*',
            'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE',
            'Access-Control-Allow-Credentials' => 'true',
            'Access-Control-Max-Age' => '86400',
            'Access-Control-Allow-Headers' => 'Content-Type, Authorization, X-Requested-With'
        ];

        if ($request->isMethod('OPTIONS')) {
            return response()->json('{"method":"OPTIONS"}', 200, $headers);
        }

        $response = $next($request);
        foreach ($headers as $key => $value) {
            $response->header($key, $value);
        }

        return $response;
    }

}

Dopo di che dovete attivarlo dentro bootstrap/app.php:

$app->middleware([
    ..........
    App\Http\Middleware\CorsMiddleware::class
]);

Fine della fiera.

Enjoy!