Example #1
0
 /**
  * Unlink account
  *
  * @param int $key Account session key
  */
 public static function unlink($key = 0)
 {
     // Revoke Token
     \Rest::get('https://accounts.google.com/o/oauth2/revoke', array('token' => $_SESSION['usernames'][$key]['credentials']['access_token']));
     // Remove Data
     UsersModel::remove($_SESSION['usernames'][$key]['username']['id']);
     if (isset($_SESSION['usernames'][$key])) {
         $toRemove = $_SESSION['usernames'][$key];
         unset($_SESSION['usernames'][$key]);
         if (isset($_SESSION['wizard']['source']) && $_SESSION['wizard']['source']['username']['id'] == $toRemove['username']['id']) {
             $_SESSION['wizard']['source'] = \Auth::userBeside($_SESSION['wizard']['destination']);
         }
         if (isset($_SESSION['wizard']['destination']) && $_SESSION['wizard']['destination']['username']['id'] == $toRemove['username']['id']) {
             $_SESSION['wizard']['destination'] = \Auth::userBeside($_SESSION['sync']['source']);
         }
         if ($_SESSION['current']['username']['id'] == $key && count($_SESSION['usernames'])) {
             end($_SESSION['usernames']);
             $_SESSION['current'] = current($_SESSION['usernames']);
         }
     }
     if (!count($_SESSION['usernames'])) {
         \Auth::logout();
     }
     \Util::notice(array('type' => 'success', 'text' => 'The account has been successfully removed and its API tokens revoked.'));
     \Router::redirect('accounts');
 }
Example #2
0
 public static function revoke()
 {
     $users = UsersModel::withCredentials();
     if ($users) {
         foreach ($users as $user) {
             if (isset($user['credentials']['access_token'])) {
                 \Rest::get('https://accounts.google.com/o/oauth2/revoke', array('token' => $user['credentials']['access_token']));
             }
             if (isset($user['credentials']['refresh_token'])) {
                 \Rest::get('https://accounts.google.com/o/oauth2/revoke', array('token' => $user['credentials']['refresh_token']));
             }
         }
     }
 }