$facebookClient->setAccessToken($accessToken); $facebookClient->extendAccessToken(); /*$facebookClient->retrieveAccessTokenFromRedirect(); $accessToken = $facebookClient->getAccessToken();*/ $userData = $facebookClient->getUserData(); $outputHandler->write("user data: "); $outputHandler->write($userData); $outputHandler->write("access token: "); $outputHandler->write($accessToken); if ($headersHandler->isAuthenticated()) { // Link accounts if not linked previously and facebookID does not repeat $user = new User($database, $headersHandler->getBearer()); $facebookClient->setUserID($user->getID()); if ($facebookClient->facebookIDRepeatsAmount() == 0) { // FacebookID does not exist in the FB yet, can link $facebookClient->save(); // update JWT $user->fetchProviders(); $jwt = $user->getJWT(); $headersHandler->sendJSONData(['token' => $jwt]); $outputHandler->write('linking successful'); $outputHandler->write($jwt); } 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();