Beispiel #1
0
             $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'));
     $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