/**
  * @return bool
  */
 public function refresh(exodAuth $exodAuth)
 {
     if (!$this->getRefreshToken()) {
         return false;
     }
     if (!$this->isValid()) {
         $exodAuth->refreshToken($this);
         return true;
     }
     return false;
 }
 /**
  * @param exodApp $exodApp
  *
  * @return exodAuth
  */
 public static function getInstance(exodApp $exodApp)
 {
     return exodAuth::getInstance($exodApp);
 }
 /**
  * @return string
  */
 protected function generateAuthUrl()
 {
     $base = parent::generateAuthUrl();
     $scopes = array('wl.signin', 'wl.basic', 'wl.offline_access', 'onedrive.appfolder');
     return $base . '&scope=' . implode('%20', $scopes);
 }