/**
  * @throws ilCloudException
  */
 protected function loadToken()
 {
     $this->response->loadFromRequest(array('code'));
     if ($this->response->getCode()) {
         $this->exod_app->buildURLs();
         $exodCurl = new exodCurl();
         $exodCurl->setUrl($this->exod_app->getTokenUrl());
         $exodCurl->addHeader("Content-Type: application/x-www-form-urlencoded");
         $exodCurl->addPostField('code', $this->response->getCode());
         $exodCurl->addPostField('client_id', $this->exod_app->getClientId());
         $exodCurl->addPostField('redirect_uri', $this->exod_app->getRedirectUri());
         $exodCurl->addPostField('grant_type', 'authorization_code');
         $exodCurl->addPostField('client_secret', $this->getExodApp()->getClientSecret());
         $exodCurl->addPostField('resource', $this->exod_app->getRessourceUri());
         $exodCurl->post();
         //			exit;
         $this->response->loadFromResponse($exodCurl->getResponseBody());
         //			echo '<pre>' . print_r($this, 1) . '</pre>';
         //			exit;
         $exodBearerToken = new exodBearerToken();
         $exodBearerToken->setAccessToken($this->getResponse()->getAccessToken());
         $exodBearerToken->setRefreshToken($this->getResponse()->getRefreshToken());
         $exodBearerToken->setValidThrough($this->getResponse()->getExpiresOn());
         $this->setExodBearerToken($exodBearerToken);
     } else {
         throw new ilCloudException(ilCloudException::UNKNONW_EXCEPTION, 'No Code received');
     }
 }
Example #2
0
 /**
  * @return exodBearerToken
  */
 public function getTokenObject()
 {
     $token = new exodBearerToken();
     if ($this->getAccessToken() and $this->getValidThrough()) {
         $token->setAccessToken($this->getAccessToken());
         $token->setRefreshToken($this->getRefreshToken());
         $token->setValidThrough($this->getValidThrough());
     }
     return $token;
 }
Example #3
0
 /**
  * @param exodBearerToken $exodBearerToken
  *
  * @return bool
  */
 public function refreshToken(exodBearerToken &$exodBearerToken)
 {
     //		throw new ilCloudException(-1, 'failed');
     $exodLog = exodLog::getInstance();
     $exodLog->write('refreshing-Token...');
     $this->exod_app->buildURLs();
     $exodCurl = new exodCurl();
     $exodCurl->setUrl($this->exod_app->getTokenUrl());
     $exodCurl->addHeader("Content-Type: application/x-www-form-urlencoded");
     $exodCurl->addPostField('client_secret', $this->getExodApp()->getClientSecret());
     $exodCurl->addPostField('client_id', $this->exod_app->getClientId());
     $exodCurl->addPostField('grant_type', 'refresh_token');
     $exodCurl->addPostField('refresh_token', $exodBearerToken->getRefreshToken());
     $exodCurl->addPostField('resource', $this->exod_app->getRessourceUri());
     $exodCurl->addPostField('redirect_uri', $this->exod_app->getRedirectUri());
     $exodCurl->post();
     $this->response->loadFromResponse($exodCurl->getResponseBody());
     $exodBearerToken->setRefreshToken($this->response->getRefreshToken());
     $exodBearerToken->setAccessToken($this->response->getAccessToken());
     $exodBearerToken->setValidThrough($this->response->getExpiresOn());
     $this->setExodBearerToken($exodBearerToken);
 }