From 698012ee856e02d7e6c8d000406debcdfa091a68 Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Fri, 8 Aug 2025 10:48:10 +0530 Subject: [PATCH] CODE merge : GWM --- app/Config/Filters.php | 6 ++-- app/Config/Routes.php | 6 +++- app/Filters/VerifyAppSignature.php | 36 +++++++++++++++++++ app/Helpers/mail_helper.php | 4 +-- .../uploads/template/.~lock.user_file.xlsx# | 1 - 5 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 app/Filters/VerifyAppSignature.php delete mode 100644 writable/uploads/template/.~lock.user_file.xlsx# diff --git a/app/Config/Filters.php b/app/Config/Filters.php index d5ee887..d6fea7a 100755 --- a/app/Config/Filters.php +++ b/app/Config/Filters.php @@ -14,6 +14,7 @@ use CodeIgniter\Filters\PerformanceMetrics; use CodeIgniter\Filters\SecureHeaders; use App\Filters\JwtAuthFilter; use App\Filters\SignedUrlFilter; +use App\Filters\VerifyAppSignature; class Filters extends BaseFilters { /** @@ -35,8 +36,9 @@ class Filters extends BaseFilters 'forcehttps' => ForceHTTPS::class, 'pagecache' => PageCache::class, 'performance' => PerformanceMetrics::class, - 'jwtAuth' => JwtAuthFilter::class, - 'signedUrl' => SignedUrlFilter::class, + 'jwtAuth' => JwtAuthFilter::class, + 'signedUrl' => SignedUrlFilter::class, + 'appSignature' => VerifyAppSignature::class, ]; diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 9cd32d7..065657f 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -18,10 +18,12 @@ $routes->get('metadata', 'SamlController::metadata'); //login api +$routes->group('api', ['filter' => 'appSignature'], function ($routes) { $routes->post('auth/login', 'AuthController::login'); $routes->get('auth/oauthClient', 'AuthController::oauthClient'); $routes->post('auth/oauthlogin', 'AuthController::oauthlogin'); $routes->get('auth/msRedirectionHandler', 'AuthController::msRedirectionHandler'); +}); //forgot password @@ -30,7 +32,7 @@ $routes->post('forgotPassword/changePassword', 'UserController::forgotChangePass //api's with token - $routes->group('api', ['filter' => 'jwtAuth'], function ($routes) { + $routes->group('api', ['filter' => 'jwtAuth|appSignature'], function ($routes) { //Organization @@ -189,3 +191,5 @@ $routes->get('logout', 'AuthController::logout'); + + diff --git a/app/Filters/VerifyAppSignature.php b/app/Filters/VerifyAppSignature.php new file mode 100644 index 0000000..a5257b2 --- /dev/null +++ b/app/Filters/VerifyAppSignature.php @@ -0,0 +1,36 @@ +getHeaderLine('App-Signature'); + + // Load the server's expected signature from the .env + $validSignature = getenv('APP_SIGNATURE'); + + // Check if signature is valid + if ($clientSignature !== $validSignature) { + return service('response') + ->setStatusCode(403) + ->setJSON([ + 'status' => false, + 'message' => 'Forbidden: Invalid App Signature', + ]); + } + + // allow request to proceed + } + + public function after(RequestInterface $request, ResponseInterface $response, $arguments = null) + { + // nothing to do after response + } +} diff --git a/app/Helpers/mail_helper.php b/app/Helpers/mail_helper.php index fef5a8e..e616b1e 100644 --- a/app/Helpers/mail_helper.php +++ b/app/Helpers/mail_helper.php @@ -821,8 +821,8 @@ if (!function_exists('send_email_agent')) { "to" => [ ["email_address" => ["address" => $value['email']]] ], - "subject" => $templateData['subject'], - "htmlbody" => $templateData['body_html'], + "subject" => $subject, + "htmlbody" => $html, ]; if (!empty($attachments)) { diff --git a/writable/uploads/template/.~lock.user_file.xlsx# b/writable/uploads/template/.~lock.user_file.xlsx# deleted file mode 100644 index e871827..0000000 --- a/writable/uploads/template/.~lock.user_file.xlsx# +++ /dev/null @@ -1 +0,0 @@ -,smart,smart-Vostro-15-3568,07.08.2025 10:57,file:///home/smart/.config/libreoffice/4; \ No newline at end of file