Esempio n. 1
0
         $checkIDQuery->execute();
         $checkIDData = $checkIDQuery->fetch(PDO::FETCH_ASSOC);
         if ($checkIDData) {
             // Already exists, log in existing user
             $user = new User($database);
             $user->fetchUser($checkIDData['user_id']);
             $jwt = $user->getJWT();
             $headersHandler->sendJSONData(['token' => $jwt]);
             $outputHandler->write($jwt);
         } else {
             // Does not exist, register user
             $user = new User($database);
             // putting in a placeholder password, BAD PRACTICE
             $user->newUser($userGoogleData['email'], $userGoogleData['name'], md5("a"));
             /// add Google as a provider
             $googleProvider->setUserID($user->getID());
             $googleProvider->setGoogleID($userGoogleData['id']);
             $googleProvider->getDataFromDB();
             $googleProvider->save();
             // refresh providers
             $user->fetchProviders();
             $jwt = $user->getJWT();
             $headersHandler->sendJSONData(['token' => $jwt]);
             $outputHandler->write($jwt);
         }
     }
     break;
 case "facebook":
     $code = $headersHandler->getHeader('code');
     $facebookClient = new FacebookProvider($database);
     $accessToken = $facebookClient->exchangeCodeForAccessToken($headersHandler->getHeader('clientId'), $headersHandler->getHeader('redirectUri'), $headersHandler->getHeader('code'));