diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 734332f..7dd78f9 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -65,5 +65,6 @@ class Kernel extends HttpKernel 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, 'htmlsanitize' => \App\Http\Middleware\HtmlSanitizer::class, + 'apiCheck' => \App\Http\Middleware\ApiCheckCredentialMiddleware::class ]; } diff --git a/app/Http/Middleware/ApiCheckCredentialMiddleware.php b/app/Http/Middleware/ApiCheckCredentialMiddleware.php index 7e069f7..48f5d2b 100644 --- a/app/Http/Middleware/ApiCheckCredentialMiddleware.php +++ b/app/Http/Middleware/ApiCheckCredentialMiddleware.php @@ -13,7 +13,7 @@ class ApiCheckCredentialMiddleware */ public function handle($request, \Closure $next) { - if ($request->token !== \config('api.key')) { + if ($request->header('Authorization') !== \config('api.key')) { return response('Unauthorized', 401); } diff --git a/app/Models/Network.php b/app/Models/Network.php index 0c3fd2e..8340f30 100644 --- a/app/Models/Network.php +++ b/app/Models/Network.php @@ -6,7 +6,6 @@ use Illuminate\Database\Eloquent\Model; class Network extends Model { - /** * The attributes that should be cast. * @@ -15,8 +14,7 @@ class Network extends Model protected $casts = [ 'cidr' => 'encrypted', 'first_ip' => 'encrypted', - 'last_ip' => 'encrypted', - 'comments' => 'string' + 'last_ip' => 'encrypted' ]; /** @@ -32,6 +30,6 @@ class Network extends Model * @var array */ protected $fillable = [ - 'cidr', 'first_ip', 'last_ip', 'comments' + 'cidr', 'first_ip', 'last_ip', 'commentaire' ]; } diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index ec4432c..c13c7bb 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -38,6 +38,10 @@ class RouteServiceProvider extends ServiceProvider Route::middleware('web') ->namespace($this->namespace) ->group(base_path('routes/web-fo.php')); + + Route::middleware('api') + ->namespace($this->namespace) + ->group(base_path('routes/api.php')); }); } @@ -77,9 +81,9 @@ class RouteServiceProvider extends ServiceProvider } // * Flatten if needed $cspReport = collect(request()->json('csp-report')) - ->flatMap(function ($v, $k) { - return [$k => is_array($v) ? collect($v)->flatten()->implode(', ') : $v]; - })->all(); + ->flatMap(function ($v, $k) { + return [$k => is_array($v) ? collect($v)->flatten()->implode(', ') : $v]; + })->all(); // * Filter array keys $cspReport = collect(array_intersect_key($cspReport, [ 'blocked-uri' => '', 'document-uri' => '', 'original-policy' => '', diff --git a/config/api.php b/config/api.php new file mode 100644 index 0000000..7431a8e --- /dev/null +++ b/config/api.php @@ -0,0 +1,5 @@ + env('LDC_WEB_API_KEY') +]; diff --git a/routes/api.php b/routes/api.php index b3d9bbc..66b35a0 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1 +1,8 @@ middleware('apiCheck')->group(function () { + Route::get('/networks', [NetworksController::class, 'index']); +});