From f44d21a9bea2099d97bb938fd5815fca9c2ff39d Mon Sep 17 00:00:00 2001 From: Jurgis Sakalauskas Date: Sat, 11 Jan 2025 11:50:04 +0200 Subject: [PATCH] add api token --- .env.example | 2 ++ app/Http/Kernel.php | 1 + app/Http/Middleware/EnsureTokenIsValid.php | 27 ++++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 app/Http/Middleware/EnsureTokenIsValid.php diff --git a/.env.example b/.env.example index e42b4c0..8c89fa9 100644 --- a/.env.example +++ b/.env.example @@ -12,3 +12,5 @@ GOOGLE_APPLICATION_CREDENTIALS=/var/www/html/auth.json GOOGLE_CLOUD_PROJECT= GOOGLE_LOCATION=us-central1 GOOGLE_IMAGEN_MODEL=imagen-3.0-fast-generate-001 + +API_AUTH_TOKEN= diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 494c050..428adad 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -42,6 +42,7 @@ class Kernel extends HttpKernel // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, \Illuminate\Routing\Middleware\ThrottleRequests::class.':api', \Illuminate\Routing\Middleware\SubstituteBindings::class, + \App\Http\Middleware\EnsureTokenIsValid::class, ], ]; diff --git a/app/Http/Middleware/EnsureTokenIsValid.php b/app/Http/Middleware/EnsureTokenIsValid.php new file mode 100644 index 0000000..900d376 --- /dev/null +++ b/app/Http/Middleware/EnsureTokenIsValid.php @@ -0,0 +1,27 @@ +header('token') ?? $request->input('token'); + $token = env('API_AUTH_TOKEN'); + if (!$requestToken || !$token || $requestToken !== $token) { + return (new JsonResponse(['error' => 'Unauthorized']))->setStatusCode(Response::HTTP_UNAUTHORIZED); + } + + return $next($request); + } +}