request = \Config\Services::request(); } public function index(): string { return ''; } public function verifyGetBkoToken(){ $data = $this->request->getGet(); return $this->verifyBkoToken($data); } public function verifyPostBkoToken(){ $data = $this->request->getPost(); return $this->verifyBkoToken($data); } private function verifyBkoToken($data){ //$data = $this->request->getGet(); return $this->respond($data, 200); } public function startBkoToken() { $data = $this->request->getPost(); if ( $data['username'] == '' || $data['pass'] == '' ){ return $this->fail([] , 409); } $username = $data['username']; $pass = $data['pass']; $sqlC = "SELECT * FROM bko_users WHERE username ='".$username."' AND pass = md5('".$pass."')"; $query = $this->db->query($sqlC); $resV = $query->getResultArray(); $results = []; if (count($resV)> 0){ $results = $resV[0]; } // var_dump($results); if ( count($results) > 0 && $results['uid'] != '' && $results['updated'] != '' ){ $final_out = $results; $key = getenv('JWT_SECRET'); $iat = time(); // current timestamp value $exp = $iat + 3600; $payload = array( "iss" => "Issuer of the JWT", "aud" => "Audience that the JWT", "sub" => "Backoffice VerifiedT", "iat" => $iat, //Time the JWT issued at "exp" => $exp, // Expiration time of token "user_detail" =>$final_out, ); $token = JWT::encode($payload, $key, 'HS256'); $response = [ 'message' => 'Login was successful', 'call_return' => '100', 'username' => $data['username'], 'token' => $token, "id" => 1, "first_name" => $results['firstname'], "last_name" => $results['lastname'], "email" => $results['email'], "email_verified_at" => "2023-07-12T13:39:04.000000Z", "created_at" => $results['added'], "updated_at" => $results['updated'], "api_token" => $token ]; return $this->respond($response, 200); } else{ $response = [ 'message' => 'Login failed', 'call_return' => '100', 'token' => '' ]; return $this->fail($response , 409); } } }