public function getRequestToken()
 {
     $oauthConsumer = new Zend_Oauth_Consumer($this->configParams);
     $token = $oauthConsumer->getRequestToken();
     $_SESSION['REQUEST_TOKEN'] = serialize($token);
     $oauthConsumer->redirect();
 }
Beispiel #2
0
 /**
  * Authenticate user by twitter OAuth
  * @return Zend_Auth_Result
  */
 public function authenticate()
 {
     $config = $this->getConfig();
     if (empty($config['consumerKey']) || empty($config['consumerSecret']) || empty($config['userAuthorizationUrl']) || empty($config['accessTokenUrl']) || empty($config['callbackUrl'])) {
         require_once 'Zend/Auth/Adapter/Exception.php';
         throw new Zend_Auth_Adapter_Exception('Twitter auth configuration not specifed');
     }
     $consumer = new Zend_Oauth_Consumer($config);
     $tokenRequest = $this->_getTokenRequest();
     if (!empty($tokenRequest) && !empty($_GET)) {
         $tokenAccess = $consumer->getAccessToken($_GET, $tokenRequest);
         $response = $tokenAccess->getResponse();
         if ($response->isError()) {
             //TODO:change on custom
             $error = 'Twitter Oauth service unavailable';
             return new Zend_Auth_Result(Zend_Auth_Result::FAILURE, false, array($error));
         } elseif ($response->isSuccessful()) {
             $parsedResponse = $this->parseResponseUrl($response->getBody());
             $this->_unsetTokenRequest();
             $identity = $this->_prepareIdentity($parsedResponse);
             return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $identity);
         }
     } else {
         $tokenRequest = $consumer->getRequestToken();
         $this->_setTokenRequest($tokenRequest);
         $consumer->redirect();
     }
 }
 /**
  * Start Google authentication 
  */
 public function startauth($scope = null)
 {
     $config = $this->config->oauth->params->toArray();
     $consumer = new Zend_Oauth_Consumer($config);
     // fetch a request token
     $token = $consumer->getRequestToken($scope);
     // persist the token to storage
     $this->session->request_token = serialize($token);
     // redirect the user
     $consumer->redirect();
 }
Beispiel #4
0
 /** Request a token from twitter and authorise the app
  */
 public function generate()
 {
     $config = array('requestTokenUrl' => 'http://www.flickr.com/services/oauth/request_token', 'accessTokenUrl' => 'http://www.flickr.com/services/oauth/access_token', 'userAuthorisationUrl' => 'http://www.flickr.com/services/oauth/authorize', 'localUrl' => 'http://beta.finds.org.uk/admin/oauth', 'callbackUrl' => self::CALLBACKURL, 'consumerKey' => $this->_consumerKey, 'consumerSecret' => $this->_consumerSecret, 'version' => '1.0', 'signatureMethod' => 'HMAC-SHA1');
     $consumer = new Zend_Oauth_Consumer($config);
     $consumer->setAuthorizeUrl('http://www.flickr.com/services/oauth/authorize');
     $token = $consumer->getRequestToken();
     $session = new Zend_Session_Namespace('flickr_oauth');
     $session->token = $token->getToken();
     $session->secret = $token->getTokenSecret();
     $consumer->redirect($customServiceParameters = array('perms' => 'delete'));
 }
 public function twitterAction()
 {
     $this->view->layout()->disableLayout();
     $this->_helper->viewRenderer->setNoRender(true);
     $config = array('callbackUrl' => 'http://we.com/employee/twitter-callback', 'siteUrl' => 'http://twitter.com/oauth', 'consumerKey' => 'pVq8Yq0ZdsR7Zdzv4GoLA', 'consumerSecret' => 'cdP0KmoKAP9BeS4UTbFl9FX2cZ7F6qQ8va7HsljadY');
     $consumer = new Zend_Oauth_Consumer($config);
     // fetch a request token
     $token = $consumer->getRequestToken();
     // persist the token to storage
     $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token);
     // redirect the user
     $consumer->redirect();
     //$twitter=new Zend_Service_Twitter($options, $consumer);
 }
 /**
  * Start Netflix authentication 
  */
 public function startauthAction()
 {
     // Build the callback url
     $callbackUrl = empty($_SERVER['https']) ? "http://" : "https://";
     $callbackUrl .= $_SERVER['HTTP_HOST'] . "/netflix/finishauth";
     $config = array('callbackUrl' => $callbackUrl, 'siteUrl' => $this->config->oauth->base_url, 'consumerKey' => $this->config->api->api_key, 'consumerSecret' => $this->config->api->shared_secret);
     $consumer = new Zend_Oauth_Consumer($config);
     // fetch a request token
     $token = $consumer->getRequestToken();
     // persist the token to storage
     $this->session->request_token = serialize($token);
     // redirect the user
     $consumer->redirect();
 }
Beispiel #7
0
 public function testAction()
 {
     $params = array('siteUrl' => 'http://m2.magento192.invbl.ru/oauth', 'requestTokenUrl' => 'http://m2.magento192.invbl.ru/oauth/initiate', 'accessTokenUrl' => 'http://m2.magento192.invbl.ru/oauth/token', 'authorizeUrl' => 'http://m2.magento192.invbl.ru/admin/', 'consumerKey' => '618ea092fdd7fc3710f968f58f0b2014', 'consumerSecret' => '52dcbcbe68cae8373124b286a4e106b1', 'callbackUrl' => 'http://m2.magento192.invbl.ru/giftregistry/index/test2');
     // Initiate oAuth consumer with above parameters
     $consumer = new Zend_Oauth_Consumer($params);
     // Get request token
     $requestToken = $consumer->getRequestToken();
     // Get session
     $session = Mage::getSingleton('core/session');
     // Save serialized request token object in session for later use
     $session->setRequestToken(serialize($requestToken));
     // Redirect to authorize URL
     $consumer->redirect();
     exit;
 }
 /**
  * @example /profile/group-oauth/authenticate/provider2
  *
  * @param string $providerId
  * @return void
  */
 public function authenticateAction($providerId)
 {
     $this->setNoRender();
     $_SESSION['return_url'] = $this->_getRequest()->getQueryParameter('return_url');
     $providerConfig = $this->_getProviderConfiguration($providerId);
     $consumer = new Zend_Oauth_Consumer($providerConfig->auth);
     // Do an HTTP request to the provider to fetch a request token
     $requestToken = $consumer->getRequestToken();
     // persist the token to session as we redirect the user to the provider
     if (!isset($_SESSION['request_token'])) {
         $_SESSION['request_token'] = array();
     }
     $_SESSION['request_token'][$providerId] = serialize($requestToken);
     // redirect the user to the provider
     $consumer->redirect();
 }
 public function indexAction()
 {
     $session = new \Zend_Session_Namespace('twitter', true);
     $oauthConfig = array('callbackUrl' => 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'], 'siteUrl' => 'http://twitter.com/oauth');
     $configForm = $this->getInvokeArg('bootstrap')->getResource('configForm');
     $twitterApiForm = new \Zend_Form($configForm->twitterApi);
     if ($this->getRequest()->isPost()) {
         if ($twitterApiForm->isValid($_POST)) {
             try {
                 $this->twitterRepository->saveEntity($twitterApiForm->getValues());
                 $oauthConfig['consumerKey'] = $twitterApiForm->getValue('consumerKey');
                 $oauthConfig['consumerSecret'] = $twitterApiForm->getValue('consumerSecret');
                 $consumer = new \Zend_Oauth_Consumer($oauthConfig);
                 $token = $consumer->getRequestToken();
                 $session->twitterRequestToken = serialize($token);
                 $consumer->redirect();
             } catch (\Exception $e) {
                 $log = $this->getInvokeArg('bootstrap')->log;
                 $log->log($e->getMessage(), \Zend_Log::ERR, array('trace' => $e->getTraceAsString()));
                 $this->_helper->systemMessages('error', 'Einstellungen konnte nicht gespeichert werden');
             }
         }
     } else {
         try {
             $entity = $this->twitterRepository->fetchEntity();
             if ($entity) {
                 if (isset($session->twitterRequestToken)) {
                     $oauthConfig['consumerKey'] = $entity->consumerKey;
                     $oauthConfig['consumerSecret'] = $entity->consumerSecret;
                     $consumer = new \Zend_Oauth_Consumer($oauthConfig);
                     $token = $consumer->getAccessToken($_GET, unserialize($session->twitterRequestToken));
                     $this->twitterRepository->saveEntity(array('accessToken' => serialize($token)));
                     unset($session->twitterRequestToken);
                     $this->_helper->systemMessages('notice', 'Einstellungen erfolgreich gespeichert');
                 }
                 $twitterApiForm->populate($entity->toArray());
             }
         } catch (\Exception $e) {
             $log = $this->getInvokeArg('bootstrap')->log;
             $log->log($e->getMessage(), \Zend_Log::ERR, array('trace' => $e->getTraceAsString()));
             $this->_helper->systemMessages('error', 'Einstellungen konnte nicht gespeichert werden');
         }
     }
     $twitterApiForm->setAction('/admin/twitter');
     $this->view->form = $twitterApiForm;
 }
Beispiel #10
0
 public function indexAction()
 {
     //Basic parameters that need to be provided for oAuth authentication
     //on Magento
     $params = array('siteUrl' => 'http://ecschina.com/oauth', 'requestTokenUrl' => 'http://ecschina.com/oauth/initiate', 'accessTokenUrl' => 'http://ecschina.com/oauth/token', 'authorizeUrl' => 'http://ecschina.com/admin/oAuth_authorize', 'consumerKey' => 'ufs7anw8j9duj754vplvczyxmcdvor5b', 'consumerSecret' => 'i8mcujolcsglsx3egi2do10cmvelkly8', 'callbackUrl' => 'http://ecschina.com/restconnect/index/callback');
     // Initiate oAuth consumer with above parameters
     $consumer = new Zend_Oauth_Consumer($params);
     // Get request token
     $requestToken = $consumer->getRequestToken();
     // Get session
     $session = Mage::getSingleton('core/session');
     // Save serialized request token object in session for later use
     $session->setRequestToken(serialize($requestToken));
     // Redirect to authorize URL
     $consumer->redirect();
     return;
 }
 /**
  * If this site is registered with twitter, it redirects to twitter to ask for a request token
  */
 function getTwitterRequestToken()
 {
     global $prefs;
     if (!$this->twitterRegistered()) {
         return false;
     }
     $this->options['callbackUrl'] = $this->getURL();
     $this->options['consumerKey'] = $prefs['socialnetworks_twitter_consumer_key'];
     $this->options['consumerSecret'] = $prefs['socialnetworks_twitter_consumer_secret'];
     try {
         $consumer = new Zend_Oauth_Consumer($this->options);
         $token = $consumer->getRequestToken();
         $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token);
         $consumer->redirect();
     } catch (Zend_Http_Client_Exception $e) {
         return false;
     }
 }
 public function indexAction()
 {
     if ($this->getRequest()->isGet()) {
         $uid = $this->_request->getParam('uid', null);
         if ($uid) {
             $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/twitter.ini');
             $consumer = new Zend_Oauth_Consumer($config);
             // fetch a request token
             $token = $consumer->getRequestToken();
             $db = Zend_Db_Table::getDefaultAdapter();
             $entity = new Default_Dao_User();
             $data = array('twitter_request_token' => serialize($token));
             $entity->update($data, $db->quoteInto('id = ?', $uid));
             // redirect the user
             $consumer->redirect();
         }
     }
 }
Beispiel #13
0
 /**
  * Authenticate a user.
  * @param Zend_Controller_Request_Abstract $request The current request
  * @param Zend_Controller_Response_Abstract $response The current response
  * @return Array|Boolean User data, or FALSE
  */
 public function authenticate(Zend_Controller_Request_Abstract $request, Zend_Controller_Response_Abstract $response)
 {
     $callbackUrl = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . $request->getBaseUrl() . '/g/auth/login/process/twitter';
     $authVars = $this->_getAuthVars();
     if (!$authVars->consumerKey || !$authVars->consumerSecret) {
         throw new Garp_Auth_Exception('Required key "consumerKey" or "consumerSecret" not set in application.ini.');
     }
     $config = array('siteUrl' => 'https://api.twitter.com/oauth', 'consumerKey' => $authVars->consumerKey, 'consumerSecret' => $authVars->consumerSecret, 'callbackUrl' => $callbackUrl);
     try {
         $consumer = new Zend_Oauth_Consumer($config);
         if ($request->isPost()) {
             $token = $consumer->getRequestToken();
             $cookie = new Garp_Store_Cookie('Garp_Auth');
             $cookie->token = serialize($token);
             if (!empty($this->_extendedUserColumns)) {
                 $cookie->extendedUserColumns = serialize($this->_extendedUserColumns);
             }
             $cookie->writeCookie();
             $consumer->redirect();
             return true;
         }
         $cookie = new Garp_Store_Cookie('Garp_Auth');
         if ($request->getParam('oauth_token') && isset($cookie->token)) {
             $accesstoken = $consumer->getAccessToken($_GET, unserialize($cookie->token));
             // Discard request token
             if ($cookie->extendedUserColumns) {
                 $this->setExtendedUserColumns(unserialize($cookie->extendedUserColumns));
                 $cookie->destroy('extendedUserColumns');
             }
             $cookie->destroy('oauth_token');
             return $this->_getUserData($this->_getTwitterService($accesstoken, $authVars->consumerKey, $authVars->consumerSecret), $accesstoken->getParam('user_id'));
         }
         $this->_addError('App was not authorized. Please try again.');
         return false;
     } catch (Exception $e) {
         if (strpos($e->getMessage(), 'Duplicate entry') !== false && strpos($e->getMessage(), 'email_unique') !== false) {
             $this->_addError(__('this email address already exists'));
             return false;
         }
         // Provide generic error message
         $this->_addError(APPLICATION_ENV === 'development' ? $e->getMessage() : __('login error'));
     }
     return false;
 }
Beispiel #14
0
 /** Request a token from twitter and authorise the app
  */
 public function request()
 {
     $tokens = new OauthTokens();
     $tokenexists = $tokens->fetchRow($tokens->select()->where('service = ?', 'twitterAccess'));
     if (is_null($tokenexists)) {
         $config = array('callbackUrl' => self::CALLBACKURL, 'siteUrl' => 'http://twitter.com/oauth', 'consumerKey' => $this->_config->webservice->twitter->consumerKey, 'consumerSecret' => $this->_config->webservice->twitter->consumerSecret);
         $consumer = new Zend_Oauth_Consumer($config);
         $token = $consumer->getRequestToken();
         $secret = serialize($token);
         $tokenRow = $this->createRow();
         $tokenRow->service = 'twitterRequest';
         $tokenRow->created = Zend_Date::now()->toString('YYYY-MM-dd HH:mm:ss');
         $tokenRow->accessToken = serialize($token);
         $tokenRow->save();
         $consumer->redirect();
     } else {
         throw new Pas_Yql_Exception('Token already exists');
     }
 }
Beispiel #15
0
 /**
  * Authenticate the user
  *
  * @return Zend_Auth_Result
  */
 public function authenticate()
 {
     if (!$this->_consumer) {
         $code = Zend_Auth_Result::FAILURE;
         $message = array('A valid Zend_Oauth_Consumer key is required');
         return new Zend_Auth_Result($code, '', $message);
     }
     $namespace = self::DEFAULT_SESSION_NAMESPACE;
     if (isset($this->_options['sessionNamespace']) && $this->_options['sessionNamespace'] != '') {
         $namespace = $this->_options['sessionNamespace'];
     }
     require_once 'Zend/Session/Namespace.php';
     $session = new Zend_Session_Namespace($namespace);
     try {
         if (!$session->requestToken) {
             $token = $this->_consumer->getRequestToken();
             $session->requestToken = serialize($token);
             $this->_consumer->redirect();
         } else {
             $accessToken = $this->_consumer->getAccessToken($this->_queryData, unserialize($session->requestToken));
             $this->setAccessToken($accessToken);
             unset($session->requestToken);
             $body = $accessToken->getResponse()->getBody();
             $returnParams = array();
             $parts = explode('&', $body);
             foreach ($parts as $kvpair) {
                 $pair = explode('=', $kvpair);
                 $returnParams[rawurldecode($pair[0])] = rawurldecode($pair[1]);
             }
         }
     } catch (Zend_Oauth_Exception $e) {
         $session->unsetAll();
         $code = Zend_Auth_Result::FAILURE;
         $message = array('Access denied by OAuth source');
         return new Zend_Auth_Result($code, '', $message);
     } catch (Exception $e) {
         $session->unsetAll();
         $code = Zend_Auth_Result::FAILURE;
         $message = array($e->getMessage());
         return new Zend_Auth_Result($code, '', $message);
     }
     return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $returnParams, array());
 }
Beispiel #16
0
 /**
  * Authenticate a user.
  * @param Zend_Controller_Request_Abstract $request The current request
  * @param Zend_Controller_Response_Abstract $response The current response
  * @return Array|Boolean User data, or FALSE
  */
 public function authenticate(Zend_Controller_Request_Abstract $request, Zend_Controller_Response_Abstract $response)
 {
     $callbackUrl = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . $request->getBaseUrl() . '/g/auth/login/process/vimeo';
     $authVars = $this->_getAuthVars();
     if (!$authVars->consumerKey || !$authVars->consumerSecret) {
         throw new Garp_Auth_Exception('Required key "consumerKey" or "consumerSecret" not set in application.ini.');
     }
     $config = array('siteUrl' => 'http://vimeo.com/oauth', 'consumerKey' => $authVars->consumerKey, 'consumerSecret' => $authVars->consumerSecret, 'callbackUrl' => $callbackUrl);
     try {
         $consumer = new Zend_Oauth_Consumer($config);
         if ($request->isPost()) {
             $token = $consumer->getRequestToken();
             $cookie = new Garp_Store_Cookie('Garp_Auth');
             if (!empty($this->_extendedUserColumns)) {
                 $cookie->extendedUserColumns = serialize($this->_extendedUserColumns);
             }
             $cookie->token = serialize($token);
             $cookie->writeCookie();
             $consumer->redirect();
             exit;
         } elseif ($request->getParam('oauth_token')) {
             $cookie = new Garp_Store_Cookie('Garp_Auth');
             if (isset($cookie->token)) {
                 $accesstoken = $consumer->getAccessToken($_GET, unserialize($cookie->token));
                 if ($cookie->extendedUserColumns) {
                     $this->setExtendedUserColumns(unserialize($cookie->extendedUserColumns));
                     $cookie->destroy('extendedUserColumns');
                 }
                 // Discard request token
                 $cookie->destroy('token');
                 return $this->_getUserData($accesstoken);
             } else {
                 $this->_addError('App was not authorized. Please try again.');
             }
         } elseif ($request->getParam('denied')) {
             $this->_addError('App was not authorized. Please try again.');
         }
     } catch (Exception $e) {
         $this->_addError($e->getMessage());
     }
     return false;
 }
Beispiel #17
0
 public function requestAuth()
 {
     if ($this->getLocalAccessToken()) {
         return true;
     }
     //Check if already authenticated and app has TWITTER ACCESS TOKEN
     if (!isset($_SESSION['TWITTER_ACCESS_TOKEN'])) {
         try {
             $consumer = new Zend_Oauth_Consumer($this->config);
             //Redirect to twitter API with REQUEST TOKEN
             $token = $consumer->getRequestToken();
             $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token);
             $consumer->redirect();
         } catch (Exception $e) {
             Logger::Error('Twitter: requestAuth failed: ' . $e->getMessage());
             return false;
         }
     } else {
         return true;
     }
 }
Beispiel #18
0
 public function getAccessToken($feedSID = null, $action = null, &$errors)
 {
     SJB_Session::setValue('twitterFeed', serialize($_REQUEST));
     if ($feedSID != null) {
         $feedInfo = SJB_SocialMedia::getFeedInfoByNetworkIdAndSID(self::NETWORK_ID, $feedSID);
     }
     if ($action != 'grant') {
         $feedInfo['consumerKey'] = SJB_Request::getVar('consumerKey');
         $feedInfo['consumerSecret'] = SJB_Request::getVar('consumerSecret');
         $feedInfo['account_id'] = SJB_Request::getVar('account_id');
     }
     $config = array('callbackUrl' => self::getCallBackUrl($feedSID, $action, SJB_Request::getVar('submit')), 'siteUrl' => 'http://twitter.com/oauth', 'consumerKey' => $feedInfo['consumerKey'], 'consumerSecret' => $feedInfo['consumerSecret'], 'requestTokenUrl' => 'https://api.twitter.com/oauth/request_token', 'userAuthorizationUrl' => 'https://api.twitter.com/oauth/authorize', 'accessTokenUrl' => 'https://api.twitter.com/oauth/access_token');
     $consumer = new Zend_Oauth_Consumer($config);
     $client = new Zend_Http_Client();
     $client->setConfig(array('sslcert' => 'cacert.pem'));
     $consumer->setHttpClient($client);
     $sessionTwitterRequestToken = SJB_Session::getValue('TWITTER_REQUEST_TOKEN');
     if (SJB_Request::getVar('process_token', false) && !is_null($sessionTwitterRequestToken)) {
         $accessToken = $consumer->getAccessToken($_GET, unserialize($sessionTwitterRequestToken));
         $feedInfo['access_token'] = $accessToken;
         $twitter = self::getZendServiceTwitter($feedInfo, $accessToken);
         $response = $twitter->account->accountVerifyCredentials()->toValue();
         if (!empty($response->screen_name) && strtolower($response->screen_name) == strtolower($feedInfo['account_id'])) {
             return $accessToken;
         } else {
             $errors[] = 'Twitter account verification failed';
             return false;
         }
     } else {
         if ($requestToken = $consumer->getRequestToken()) {
             SJB_Session::setValue('TWITTER_REQUEST_TOKEN', serialize($requestToken));
             $consumer->redirect();
         } else {
             $errors[] = 'Could not retrieve a valid Token. Please check "Consumer Key" and "Consumer secret"';
             return false;
         }
     }
 }
Beispiel #19
0
 /**
  * Authenticate user by Linkedin OAuth
  * @return Zend_Auth_Result
  */
 public function authenticate()
 {
     $config = $this->getConfig();
     if (empty($config['consumerKey']) || empty($config['consumerSecret']) || empty($config['userAuthorizationUrl']) || empty($config['accessTokenUrl']) || empty($config['callbackUrl'])) {
         require_once 'Zend/Auth/Adapter/Exception.php';
         throw new Zend_Auth_Adapter_Exception('Linkedin auth configuration not specifed');
     }
     if (isset($config['scope']) && !empty($config['scope'])) {
         $scope = $config['scope'];
     } else {
         $scope = array();
     }
     $consumer = new Zend_Oauth_Consumer($config);
     $tokenRequest = $this->_getTokenRequest();
     if (!empty($tokenRequest) && !empty($_GET)) {
         $accessToken = $consumer->getAccessToken($_GET, $tokenRequest);
         $response = $accessToken->getResponse();
         if ($response->isError()) {
             //TODO:change on custom
             $error = 'Linkedin Oauth service unavailable';
             return new Zend_Auth_Result(Zend_Auth_Result::FAILURE, false, array($error));
         } elseif ($response->isSuccessful()) {
             $parsedResponse = $this->parseResponseUrl($response->getBody());
             // making an additional call, to receive the user parameters
             $User = $this->requestUserParams($accessToken);
             $parsedResponse = array_merge($parsedResponse, $User);
             $this->_unsetTokenRequest();
             $identity = $this->_prepareIdentity($parsedResponse);
             return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $identity);
         }
     } else {
         $tokenRequest = $consumer->getRequestToken(array('scope' => implode(' ', $scope)));
         $this->_setTokenRequest($tokenRequest);
         $consumer->redirect();
     }
 }
Beispiel #20
0
 public function indexAction()
 {
     $accesssession = new Zend_Session_Namespace('AccessToken');
     if (isset($accesssession->accessToken)) {
         $token = unserialize($accesssession->accessToken);
         // $client = $token->getHttpClient($this->config);
         $client = new Zend_Http_Client();
         $adapter = new Zend_Http_Client_Adapter_Curl();
         $client->setAdapter($adapter);
         $adapter->setConfig(array('adapter' => 'Zend_Http_Client_Adapter_Curl', 'curloptions' => array(CURLOPT_FOLLOWLOCATION => true)));
         $client->setUri($this->hostname . '/api/rest/products');
         $client->setParameterGet('oauth_token', $token->getToken());
         $client->setParameterGet('oauth_token_secret', $token->getTokenSecret());
         $response = $client->request('GET');
         $products = Zend_Json::decode($response->getBody());
     } else {
         $consumer = new Zend_Oauth_Consumer($this->config);
         $token = $consumer->getRequestToken();
         $requestsession = new Zend_Session_Namespace('RequestToken');
         $requestsession->requestToken = serialize($token);
         $consumer->redirect();
     }
     $this->view->products = $products;
 }
Beispiel #21
0
 /**
  * Authenticates the user passed by the constructor, however in this case we
  * user the WRAP server variable "WRAP_USERID" to get this appropriate username.
  *
  * @return new Zend_Auth_Result object
  */
 public function authenticate()
 {
     if (AUTH_YAHOO_CONSUMER_KEY == '' || AUTH_YAHOO_CONSUMER_SECRET == '') {
         throw new Exception('Yahoo authentication options must be set in the application configuration.');
     }
     $session = new Zend_Session_Namespace('ot_auth_adapter_yahoo');
     if (isset($session->authed)) {
         return new Zend_Auth_Result(true, unserialize($session->authed), array());
     }
     $config = array('callbackUrl' => $this->_getUrl() . Zend_Controller_Front::getInstance()->getBaseUrl() . '/login', 'siteUrl' => 'https://api.login.yahoo.com/oauth/v2/', 'requestTokenUrl' => 'https://api.login.yahoo.com/oauth/v2/get_request_token', 'authorizeUrl' => 'https://api.login.yahoo.com/oauth/v2/request_auth', 'accessTokenUrl' => 'https://api.login.yahoo.com/oauth/v2/get_token', 'consumerKey' => AUTH_YAHOO_CONSUMER_KEY, 'consumerSecret' => AUTH_YAHOO_CONSUMER_SECRET);
     $consumer = new Zend_Oauth_Consumer($config);
     try {
         if (!isset($_GET['oauth_token']) && !$session->requestToken) {
             $token = $consumer->getRequestToken();
             $session->requestToken = serialize($token);
             $consumer->redirect();
             die;
         } else {
             $accessToken = $consumer->getAccessToken($_GET, unserialize($session->requestToken));
             unset($session->requestToken);
             parse_str($accessToken->getResponse()->getBody(), $body);
             $userId = $body['xoauth_yahoo_guid'];
         }
     } catch (Exception $e) {
         $session->unsetAll();
         return new Zend_Auth_Result(false, new stdClass(), array($e->getMessage()));
     }
     if (!isset($userId) || $userId == '') {
         return new Zend_Auth_Result(false, new stdClass(), array("Authentication Failed"));
     }
     $class = new stdClass();
     $class->username = $userId;
     $class->realm = 'yahoo';
     $session->authed = serialize($class);
     return new Zend_Auth_Result(true, $class, array());
 }
 function tw_authorize()
 {
     ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . APP . 'vendors');
     App::import('Vendor', 'Zend_Loader', true, false, 'Zend/Loader.php');
     Zend_Loader::loadClass('Zend_Oauth');
     Zend_Loader::loadClass('Zend_Oauth_Consumer');
     $app_url = $this->getAppURL();
     $options = array('callbackUrl' => $app_url . '/users/tw_callback', 'siteUrl' => 'http://twitter.com/oauth', 'consumerKey' => 'z5dxI5ypcifv8lcqy6Kiw', 'consumerSecret' => 'rsRPdXtSg55yebo071rwmkd8QswWSeLlqE9mTk');
     $consumer = new Zend_Oauth_Consumer($options);
     // fetch a request token
     $token = $consumer->getRequestToken();
     // persist the token to storage
     $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token);
     // redirect the user
     $consumer->redirect();
 }
Beispiel #23
0
 function getHttpClient($service)
 {
     $token = NULL;
     if (!$this->hasStoredToken($service, true, false, $this->userId)) {
         $consumer = new Zend_Oauth_Consumer($this->_oauthOptions);
         if (isset($_GET['oauth_token'])) {
             $token = $consumer->getAccessToken($_GET, $this->retrieveRequestToken($service));
             $this->storeAccessToken($service, $token);
         } else {
             $scope = isset($this->_scopes[$service]) ? $this->_scopes[$service] : false;
             if ($scope === false) {
                 throw new Exception("Invalid scope specified");
             }
             $token = $consumer->getRequestToken(array('scope' => $scope));
             $this->storeRequestToken($service, $token);
             $consumer->redirect();
             exit;
         }
     } else {
         $token = $this->retreiveAccessToken($service);
     }
     return $token->getHttpClient($this->_oauthOptions);
 }
Beispiel #24
0
 /**
  * @method oAuth
  * @static
  * @param {string} $provider Currently only supports the value "facebook".
  * @return {Zend_Oauth_Client}
  * @throws {Users_Exception_NotLoggedIn} If user is not logged in
  */
 static function oAuth($provider)
 {
     $nativeuser = self::loggedInUser();
     if (!$nativeuser) {
         throw new Users_Exception_NotLoggedIn();
     }
     #Set up oauth options
     $oauthOptions = Q_Config::expect('Users', 'oAuthProviders', $provider, 'oAuth');
     $customOptions = Q_Config::get('Users', 'oAuthProviders', $provider, 'custom', null);
     #If the user already has a token in our DB:
     $appuser = new Users_AppUser();
     $appuser->userId = $nativeuser->id;
     $appuser->provider = $provider;
     $appuser->appId = Q_Config::expect('Users', 'oAuthProviders', $provider, 'appId');
     if ($appuser->retrieve('*', true)) {
         $zt = new Zend_Oauth_Token_Access();
         $zt->setToken($appuser->access_token);
         $zt->setTokenSecret($appuser->session_secret);
         return $zt->getHttpClient($oauthOptions);
     }
     #Otherwise, obtain a token from provider:
     $consumer = new Zend_Oauth_Consumer($oauthOptions);
     if (isset($_GET['oauth_token']) && isset($_SESSION[$provider . '_request_token'])) {
         $token = $consumer->getAccessToken($_GET, unserialize($_SESSION[$provider . '_request_token']));
         $_SESSION[$provider . '_access_token'] = serialize($token);
         $_SESSION[$provider . '_request_token'] = null;
         #Save tokens to database
         $appuser->access_token = $token->getToken();
         $appuser->session_secret = $token->getTokenSecret();
         $appuser->save();
         return $token->getHttpClient($oauthOptions);
     } else {
         $token = $consumer->getRequestToken($customOptions);
         $_SESSION[$provider . '_request_token'] = serialize($token);
         $consumer->redirect();
         return null;
     }
 }
Beispiel #25
0
$Description = 'Description for search engine';
$background_color = 'white';
include_once 'config.php';
require_once 'Zend/Oauth/Consumer.php';
$do_twitter = new OfuzTwitter();
$configuration = $do_twitter->getTwitterConfig();
/**
 * Set up an instance of the Consumer for use
 */
$consumer = new Zend_Oauth_Consumer($configuration);
/**
 * Get a valid Access Token
 */
$token = $consumer->getRequestToken();
$_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token);
$_SESSION['TWITTER_ENTRY'] = 'user_login.php';
/**
 * Now redirect user to Twitter site so they can log in and
 * approve our access
 */
$consumer->redirect();
exit;
?>
<html>
<head>
<title>Something went wrong</title>
</head>
<body>
Something went wrong.  Sorry.
</body>
</html>
 function requestAuth()
 {
     $consumer = new Zend_Oauth_Consumer($this->config);
     session_start();
     /*
      * Check for already authenticated and
      * app has TWITTER ACCESS TOKEN
      */
     if (!$_SESSION['TWITTER_ACCESS_TOKEN'] || !isset($this->access_token)) {
         /*
          * Redirect to twitter API with REQUEST TOKEN
          */
         $token = $consumer->getRequestToken();
         $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token);
         $consumer->redirect();
     } else {
         return true;
     }
 }
Beispiel #27
0
 /**
  * request a token
  *
  */
 public function requestAuthority()
 {
     $token = $this->_consumer->getRequestToken();
     WeFlex_Session::Set(self::SESSION_REQUEST_TOKEN, serialize($token));
     $this->_consumer->redirect();
 }
Beispiel #28
0
 /** Request a token from twitter and authorise the app
  */
 public function generate()
 {
     $config = array('requestTokenUrl' => 'https://www.google.com/accounts/OAuthGetRequestToken', 'accessTokenUrl' => 'https://www.google.com/accounts/OAuthGetAccessToken', 'userAuthorisationUrl' => 'https://www.google.com/accounts/OAuthAuthorizeToken', 'localUrl' => Zend_Registry::get('siteurl') . '/admin/oauth', 'callbackUrl' => $this->getCallback(), 'consumerKey' => $this->getConsumerKey(), 'consumerSecret' => $this->getConsumerSecret(), 'version' => '1.0', 'signatureMethod' => 'HMAC-SHA1');
     $consumer = new Zend_Oauth_Consumer($config);
     $consumer->setAuthorizeUrl('https://www.google.com/accounts/OAuthAuthorizeToken');
     $token = $consumer->getRequestToken();
     $session = new Zend_Session_Namespace('google_oauth');
     $session->token = $token->getToken();
     $session->secret = $token->getTokenSecret();
     $consumer->redirect();
 }
Beispiel #29
0
 public function _getRequestToken()
 {
     $token = $this->_oConsumer->getRequestToken(array('scope' => $this->permissions));
     $_SESSION['linkedin']['requestToken'] = serialize($token);
     $this->_oConsumer->redirect();
 }
 public function indexAction()
 {
     $config = $this->config;
     $consumer = new Zend_Oauth_Consumer($config);
     $token = $consumer->getRequestToken();
     Mage::getSingleton('core/session')->setData('TUDOU_REQUEST_TOKEN', serialize($token));
     $consumer->redirect();
 }