entityManager = $entityManager; $this->session = $requestStack->getSession(); $this->secret = '!$ec7eT$l0w*'; } public function authCheck($email, $password) { $response = []; $member = new Members(); $members = $this->entityManager->getRepository(Members::class); $member = $members->findOneBy(["email" => $email]); if (!$member) { $response = ["status" => false, "message" => "Member Not Found"]; } else { if (!password_verify($password, $member->getPassword())) { $response = ["status" => false, "message" => "Check that password"]; } else { $this->session->set("member", $member); $secret = $this->secret; $expiration = time() + 3600; $token = Token::create( $member->getMemberId(), $secret, $expiration, "nile_admin" ); $this->session->set("token", $token); $response = ["status" => true, "message" => "Welcome Back"]; } } return $response; } public function logOut() { $this->session->set("member", null); $this->session->set("token", null); } public function APIStatus() { $response = []; $verify = Token::validate($this->session->get("token"), $this->secret); if ($verify) { $response = [ "status" => true, "message" => "Token is good", "token" => $this->session->get("token"), ]; } else { $response = ["status" => false, "message" => "Bad Token, champ."]; } return $response; } public function status() { $response = []; if ($this->session->get("member")) { //$member = $this->session->get("member"); $response = [ "status" => true, "role" => $this->session->get("member")->getRole(), "token" => $this->session->get("token"), ]; } else { $response = ["status" => false, "role" => null]; } return $response; } }