From a3bdd913f7f8a45c6dc2494dc7c983b6df961d95 Mon Sep 17 00:00:00 2001 From: mahdahar <89adham@gmail.com> Date: Mon, 3 Feb 2025 06:42:53 +0700 Subject: [PATCH] 250203 state --- app/Config/Routes.php | 3 ++ app/Controllers/Auths.php | 77 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 app/Controllers/Auths.php diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 64fa7a0..bb3c3ea 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -6,7 +6,10 @@ use CodeIgniter\Router\RouteCollection; * @var RouteCollection $routes */ $routes->get('/', 'Pages::home'); +$routes->get('/login', 'Auths::login'); +$routes->get('/tests', 'Auths::tests'); $routes->post('/api/requests/', 'API_Requests::requests'); $routes->get('/api/requests/orm/(:any)', 'API_Requests::orm/$1'); $routes->get('/api/results/(:any)', 'API_Results::results_send/$1'); $routes->get('/api/results_preview/(:any)', 'API_Results::results_preview/$1'); + diff --git a/app/Controllers/Auths.php b/app/Controllers/Auths.php new file mode 100644 index 0000000..98c75a5 --- /dev/null +++ b/app/Controllers/Auths.php @@ -0,0 +1,77 @@ +"pbmc_surabaya", "password"=>"pgcWfdwX3qEt9zaC" ]; + //$credDPS = [ "username"=>"pbmc_bali", "password"=>"J8e29XjLmDCFuQnk" ]; + + $header = [ + 'alg' => 'HS256', // HMAC SHA-256 algorithm + 'typ' => 'JWT' + ]; + + $payload = [ + 'iat' => time(), + 'username'=>"pbmc_surabaya", 'password'=>"pgcWfdwX3qEt9zaC" + ]; + + /* + function base64UrlEncode($data) { + return rtrim(strtr(base64_encode($data), '+/', '-_'), '='); + } + + $encodedHeader = base64UrlEncode(json_encode($header)); + $encodedPayload = base64UrlEncode(json_encode($payload)); + + // Create the signature + $signature = hash_hmac('sha256', "$encodedHeader.$encodedPayload", $secret, true); + $encodedSignature = base64UrlEncode($signature); + + // Combine to create the JWT + $jwt = "$encodedHeader.$encodedPayload.$encodedSignature"; + + + */ + $header = http_build_query($header); + $payload = http_build_query($payload); + $signature = hash_hmac('sha256', "$header.$payload", $secret, true); + $jwt = "$header.$payload.$signature
"; + echo "JWT: $jwt\n"; + + $client = \Config\Services::curlrequest(); + try { + $response = $client->request('GET', $TM_url, [ + "headers" => [ + "Accept" => "application/json", + "Authorization" => "Bearer $jwt", + "AppCode" => "2" + ], + "body" => '', + "verify" => false + ]); + + if ($response->getStatusCode() == 200) { + print_r($response); + } else { + print_r($response); + } + + } catch (\Exception $e) { + echo "Error: " . $e->getMessage(); + } + } + + public function tests() { + echo "
";
+		print_r($this);
+		echo "
"; + } + +} \ No newline at end of file