From 6baf2e821057ea6c348dd61d70e6430c8eb497cf Mon Sep 17 00:00:00 2001 From: ben Date: Sun, 8 Oct 2023 02:13:03 -0400 Subject: [PATCH 1/3] lol --- .../Controllers/Api/WebHookController.php | 29 +++++++++++++++ resources/views/dashboard.blade.php | 1 + .../views/livewire/pages/admin/send.blade.php | 36 +++++++++++++++++++ routes/api.php | 3 ++ vite.config.js | 2 +- 5 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 app/Http/Controllers/Api/WebHookController.php create mode 100644 resources/views/livewire/pages/admin/send.blade.php diff --git a/app/Http/Controllers/Api/WebHookController.php b/app/Http/Controllers/Api/WebHookController.php new file mode 100644 index 0000000..e8535ae --- /dev/null +++ b/app/Http/Controllers/Api/WebHookController.php @@ -0,0 +1,29 @@ + $payload]; + $response = Http::post(env('SLACK_WEBHOOK_URL'), $data); + } + + public function sendQuote(Request $request) + { + $quote = $request->input('quote'); + if (is_null($quote)) { + die(); + } + + $this->webHookSend($quote); + + } + + +} \ No newline at end of file diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index 2a91038..d02c759 100644 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -3,6 +3,7 @@
{{ __("You're logged in!") }} +
diff --git a/resources/views/livewire/pages/admin/send.blade.php b/resources/views/livewire/pages/admin/send.blade.php new file mode 100644 index 0000000..960848d --- /dev/null +++ b/resources/views/livewire/pages/admin/send.blade.php @@ -0,0 +1,36 @@ +validate(); + + $data = ["text" => $validated['quote']]; + $response = Http::post(env('SLACK_WEBHOOK_URL'), $data); + + $this->quote = ''; + } +}; ?> + + +
+
+ + + + {{ __('Request') }} + +
\ No newline at end of file diff --git a/routes/api.php b/routes/api.php index 889937e..bef3b31 100644 --- a/routes/api.php +++ b/routes/api.php @@ -2,6 +2,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; +use App\Http\Controllers\Api\WebHookController; /* |-------------------------------------------------------------------------- @@ -17,3 +18,5 @@ use Illuminate\Support\Facades\Route; Route::middleware('auth:sanctum')->get('/user', function (Request $request) { return $request->user(); }); + +Route::post('/sendQuote', [WebHookController::class, 'sendQuote']); \ No newline at end of file diff --git a/vite.config.js b/vite.config.js index 7457b31..40a28c9 100644 --- a/vite.config.js +++ b/vite.config.js @@ -13,7 +13,7 @@ export default defineConfig({ ], server: { hmr: { - host: '192.168.1.71', + host: '10.6.9.126', }, } }); -- 2.43.5 From f46853f686d34931de8165d0ab734bfef8d6907c Mon Sep 17 00:00:00 2001 From: ben Date: Sun, 8 Oct 2023 02:48:15 -0400 Subject: [PATCH 2/3] Added auth middleware --- .../Controllers/Api/WebHookController.php | 11 +++++++++ app/Http/Kernel.php | 1 + app/Http/Middleware/HeaderAuth.php | 24 +++++++++++++++++++ routes/api.php | 9 ++++--- 4 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 app/Http/Middleware/HeaderAuth.php diff --git a/app/Http/Controllers/Api/WebHookController.php b/app/Http/Controllers/Api/WebHookController.php index e8535ae..0d1c965 100644 --- a/app/Http/Controllers/Api/WebHookController.php +++ b/app/Http/Controllers/Api/WebHookController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; +use App\Models\Quote; class WebhookController extends Controller @@ -25,5 +26,15 @@ class WebhookController extends Controller } + public function sendRandomQuote() + { + $quote = Quote::inRandomOrder()->first()->quote; + $this->webHookSend($quote); + } + + public function test() + { + var_dump("secrets"); + } } \ No newline at end of file diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 494c050..ff4c2d4 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -64,5 +64,6 @@ class Kernel extends HttpKernel 'signed' => \App\Http\Middleware\ValidateSignature::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + 'headerauth' => \App\Http\Middleware\HeaderAuth::class ]; } diff --git a/app/Http/Middleware/HeaderAuth.php b/app/Http/Middleware/HeaderAuth.php new file mode 100644 index 0000000..a933529 --- /dev/null +++ b/app/Http/Middleware/HeaderAuth.php @@ -0,0 +1,24 @@ +header('X-BOTAUTH') !== env('X_BOTAUTH')) + { + return response('Unauthorized', 401); + } + return $next($request); + } +} diff --git a/routes/api.php b/routes/api.php index bef3b31..e85d4da 100644 --- a/routes/api.php +++ b/routes/api.php @@ -15,8 +15,11 @@ use App\Http\Controllers\Api\WebHookController; | */ -Route::middleware('auth:sanctum')->get('/user', function (Request $request) { - return $request->user(); +Route::middleware('headerauth')->group(function () { + Route::get('/test', [WebHookController::class, 'test']); + Route::post('/sendQuote', [WebHookController::class, 'sendQuote']); + Route::post('/randomQuote', [WebHookController::class, 'sendRandomQuote']); }); -Route::post('/sendQuote', [WebHookController::class, 'sendQuote']); \ No newline at end of file + + -- 2.43.5 From 8cb8353cc55005c17431e9997d9bbebd4a599598 Mon Sep 17 00:00:00 2001 From: ben Date: Sun, 8 Oct 2023 02:49:27 -0400 Subject: [PATCH 3/3] Updated env vars Update sample_env --- .env.example | 3 +++ app/Http/Controllers/Api/WebHookController.php | 2 +- app/Http/Middleware/HeaderAuth.php | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index ea0665b..8e80dcf 100644 --- a/.env.example +++ b/.env.example @@ -57,3 +57,6 @@ VITE_PUSHER_HOST="${PUSHER_HOST}" VITE_PUSHER_PORT="${PUSHER_PORT}" VITE_PUSHER_SCHEME="${PUSHER_SCHEME}" VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" + +BOT_SLACK_WEBHOOK_URL= +BOT_X_BOTAUTH= diff --git a/app/Http/Controllers/Api/WebHookController.php b/app/Http/Controllers/Api/WebHookController.php index 0d1c965..fb6655a 100644 --- a/app/Http/Controllers/Api/WebHookController.php +++ b/app/Http/Controllers/Api/WebHookController.php @@ -12,7 +12,7 @@ class WebhookController extends Controller public function webHookSend(String $payload) { $data = ["text" => $payload]; - $response = Http::post(env('SLACK_WEBHOOK_URL'), $data); + $response = Http::post(env('BOT_SLACK_WEBHOOK_URL'), $data); } public function sendQuote(Request $request) diff --git a/app/Http/Middleware/HeaderAuth.php b/app/Http/Middleware/HeaderAuth.php index a933529..b794923 100644 --- a/app/Http/Middleware/HeaderAuth.php +++ b/app/Http/Middleware/HeaderAuth.php @@ -15,7 +15,7 @@ class HeaderAuth */ public function handle(Request $request, Closure $next): Response { - if ($request->header('X-BOTAUTH') !== env('X_BOTAUTH')) + if ($request->header('X-BOTAUTH') !== env('BOT_X_BOTAUTH')) { return response('Unauthorized', 401); } -- 2.43.5