Пример #1
0
 public function testConstructorParsesRequestTokenFromResponseBody()
 {
     $body = 'oauth_token=jZaee4GF52O3lUb9&oauth_token_secret=J4Ms4n8sxjYc0A8K0KOQFCTL0EwUQTri';
     $response = new Zend_Http_Response(200, array(), $body);
     $token = new Zend_Oauth_Token_Access($response);
     $this->assertEquals('jZaee4GF52O3lUb9', $token->getToken());
 }
Пример #2
0
 /**
  * Store the user's profile data in the database, if it doesn't exist yet.
  * @param Zend_Oauth_Token_Access $accessToken
  * @return Void
  */
 protected function _getUserData(Zend_Oauth_Token_Access $accessToken)
 {
     $authVars = $this->_getAuthVars();
     $token = $accessToken->getToken();
     $tokenSecret = $accessToken->getTokenSecret();
     $vimeoService = new Garp_Service_Vimeo_Pro($authVars->consumerKey, $authVars->consumerSecret, $token, $tokenSecret);
     $userDataFromVimeo = $vimeoService->people->getInfo($token);
     $id = $userDataFromVimeo['id'];
     $ini = Zend_Registry::get('config');
     $sessionColumns = Zend_Db_Select::SQL_WILDCARD;
     if (!empty($ini->auth->login->sessionColumns)) {
         $sessionColumns = $ini->auth->login->sessionColumns;
         $sessionColumns = explode(',', $sessionColumns);
     }
     $userModel = new Model_User();
     $userConditions = $userModel->select()->from($userModel->getName(), $sessionColumns);
     $model = new Model_AuthVimeo();
     $model->bindModel('Model_User', array('conditions' => $userConditions));
     $userData = $model->fetchRow($model->select()->where('vimeo_id = ?', $id));
     if (!$userData || !$userData->Model_User) {
         $userData = $model->createNew($id, $accessToken, $this->_mapProperties($userDataFromVimeo));
     } else {
         $model->getObserver('Authenticatable')->updateLoginStats($userData->user_id);
         $userData = $userData->Model_User;
     }
     return $userData;
 }
 public function storeAccessToken(Zend_Oauth_Token_Access $accessToken)
 {
     $query = "INSERT INTO group_provider_user_oauth (provider_id, user_id, oauth_token, oauth_secret)\n        VALUES(?, ?, ?, ?)\n        ON DUPLICATE KEY UPDATE oauth_token=VALUES(oauth_token), oauth_secret=VALUES(oauth_secret)";
     $params = array($this->_providerId, $this->_userId, $accessToken->getToken(), $accessToken->getTokenSecret());
     $statement = $this->_connection->prepare($query);
     $statement->execute($params);
     return true;
 }
Пример #4
0
 /**
  * Store a new user. This creates a new AuthVimeo record, but also
  * a new user record.
  * @param String $vimeoId Vimeo user id
  * @param Zend_Oauth_Token_Access $accessToken oAuth access token
  * @param Array $props Properties received from Vimeo
  * @return Garp_Db_Table_Row The new user data
  */
 public function createNew($vimeoId, Zend_Oauth_Token_Access $accessToken, array $props)
 {
     // first save the new user
     $userModel = new Model_User();
     $userId = $userModel->insert($props);
     $userData = $userModel->find($userId)->current();
     $this->insert(array('vimeo_id' => $vimeoId, 'access_token' => $accessToken->getToken(), 'access_token_secret' => $accessToken->getTokenSecret(), 'user_id' => $userId));
     $this->getObserver('Authenticatable')->updateLoginStats($userId);
     return $userData;
 }