"Method not accepted.")); exit(); } $database = new Database(); $db = $database->getConnection(); $token = new Token($db); // get posted data $data = json_decode(file_get_contents("php://input")); if(!empty($data->code)){ // Check user existence $query = "SELECT * FROM user WHERE UPPER(code) = UPPER(:code) LIMIT 1"; $stmt = $db->prepare($query); $stmt->bindParam(":code", $data->code); if($stmt->execute()){ if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { // User found $token->userId = $row['id']; $token->user = User::createFromRow($row); if($token->create()){ // set response code - 201 created http_response_code(201); echo json_encode($token); } else { // unable to create http_response_code(500); echo json_encode(array("error" => "Unable to create Token.")); } } else { // User not found // Wait 5 secs to slow down bruteforce attacks sleep(5); http_response_code(404); echo json_encode(array("error" => "Unable to create Token. User not found.")); } } } else { // Missing parameters http_response_code(400); echo json_encode(array("error" => "Unable to create Token. code is mandatory.")); } ?>