} else { // Duplicate id $headersHandler->sendHeaderCode(401); $headersHandler->sendJSONData(['error' => 'facebook id duplicate']); $outputHandler->write("facebook id duplicate"); } } else { // Register and/or sign in $facebookIDRepeats = $facebookClient->facebookIDRepeatsAmount(); if ($facebookIDRepeats == 0) { // register $user = new User($database); $user->newUser($userData['email'], $userData['name'], md5($userData['email'] . rand(0, 100))); $facebookClient->setUserID($user->getID()); $facebookClient->save(); $user->fetchProviders(); $jwt = $user->getJWT(); $headersHandler->sendJSONData(['token' => $jwt]); $outputHandler->write('registered successfully'); $outputHandler->write($jwt); } else { if ($facebookIDRepeats == 1) { // log in $facebookClient->searchByFacebookID(); $facebookClient->setAccessToken($accessToken); $facebookClient->save(); $user = new User($database); $user->fetchUser($facebookClient->getUserID()); $jwt = $user->getJWT(); $headersHandler->sendJSONData(['token' => $jwt]); $outputHandler->write('signed in successfully');