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()); }
/** * 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; }
/** * 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; }