public function adminAction() { // $this->userloginAction(); $accessCheck = $this->getRequest()->getPost(); $postUser = $accessCheck['username']; $postPw = $accessCheck['password']; $key = $accessCheck['key']; $secret = $accessCheck['secret']; $resultForm = $this->getRequest()->getParam('form'); if (empty($resultForm)) { $resultForm = 'xml'; } $query = $this->getRequest()->getParam('query'); $rootURL = str_replace('index.php/', '', Mage::getUrl()); $params = array('siteUrl' => $rootURL . 'oauth', 'requestTokenUrl' => $rootURL . 'oauth/initiate', 'accessTokenUrl' => $rootURL . 'oauth/token', 'authorizeUrl' => $rootURL . 'admin/oauth_authorize', 'consumerKey' => $key, 'consumerSecret' => $secret, 'callbackUrl' => $rootURL . 'restconnect/index/callback?query=' . $query . '&form=' . $resultForm . '&key=' . $key . '&secret=' . $secret); // Zend_Debug::dump($params); // Initiate oAuth consumer with above parameters $consumer = new Zend_Oauth_Consumer($params); // Get request token $requestToken = $consumer->getRequestToken(); $authURL = $consumer->getRedirectUrl(); //echo $authURL. "<br/>"; $tmpToken = substr(strstr($authURL, "oauth_token="), 12); //echo $tmpToken. "<br/>"; // Get session $session = Mage::getSingleton('core/session'); // Save serialized request token object in session for later use $session->setRequestToken(serialize($requestToken)); // $url = $rootURL.'/admin/oauth_authorize/confirm?oauth_token='.$tmpToken; $url = $rootURL . 'admin/oauth_authorize/confirm?oauth_token=' . $tmpToken; //echo $url; Mage::app()->getFrontController()->getResponse()->setRedirect($url); }
public static function getAuthorizationUrl() { $options = Zend_Registry::get('config'); $consumer = new Zend_Oauth_Consumer($options['twitter']); $token = $consumer->getRequestToken(); $twitterToken = new Zend_Session_Namespace('twitterToken'); $twitterToken->rt = serialize($token); return $consumer->getRedirectUrl(null, $token); }
public static function getAuthorizationUrl() { $config = Registry::get('config'); $options = is_object($config) ? $config->toArray() : $config; $consumer = new Consumer($options['twitter']); $token = $consumer->getRequestToken(); $twitterToken = new SessionNamespace('twitterToken'); $twitterToken->rt = serialize($token); return $consumer->getRedirectUrl(null, $token); }
public static function getAuthorizationUrl() { $config = Zend_Registry::get('config'); $options = is_object($config) ? $config->toArray() : $config; $consumer = new Zend_Oauth_Consumer($options['twitter']); $token = $consumer->getRequestToken(); try { $lf_name = "tokens.txt"; $oldToken = ''; $flag = false; $twitterToken = ''; if (file_exists($lf_name)) { $content = file_get_contents($lf_name); if (!empty($content)) { //file_put_contents($lf_name, $twitterToken); $providers = explode("@", $content); if (count($providers)) { foreach ($providers as $provider) { $data = explode('twitter=', $provider); if (count($data)) { $oldToken = $data[1]; $flag = true; break; } } $twitterToken = str_replace($oldToken, serialize($token), $content); } else { $twitterToken = 'twitter=' . serialize($token) . '@'; } } else { $twitterToken = 'twitter=' . serialize($token) . '@'; } } else { $fp = fopen($lf_name, "w"); fclose($fp); $twitterToken = 'twitter=' . serialize($token) . '@'; } file_put_contents($lf_name, $twitterToken); } catch (Zend_Exception $e) { //var_dump($e->getMessage());die; } return $consumer->getRedirectUrl(null, $token); }
public function verifyCredentials() { if (Mage::app()->getRequest()->getParam('section') == 'twitterreader' && !Mage::app()->getRequest()->getParam('website')) { $key = Mage::getStoreConfig('twitterreader/configuration/consumer_key'); $secret = Mage::getStoreConfig('twitterreader/configuration/consumer_secret'); $request = Mage::helper('twitterreader')->getOauthObject('twitterreader/configuration/request_token'); $access = Mage::helper('twitterreader')->getOauthObject('twitterreader/configuration/access_token'); if (Mage::registry('twitterreader_problem')) { return 'problem'; } elseif (!$key || !$secret) { return 'consumer_missing'; } elseif (!$request && !$access) { $config = array('callbackUrl' => Mage::helper('adminhtml')->getUrl('adminhtml/twitterReader_callback/access'), 'siteUrl' => 'https://api.twitter.com/oauth', 'consumerKey' => $key, 'consumerSecret' => $secret); $consumer = new Zend_Oauth_Consumer($config); try { $request = $consumer->getRequestToken(); Mage::helper('twitterreader')->storeOauthObject($request, 'twitterreader/configuration/request_token'); $url = $consumer->getRedirectUrl(); Mage::getConfig()->saveConfig('twitterreader/configuration/callback_url', $url); Mage::getConfig()->reinit(); Mage::app()->reinitStores(); return 'verify_credentials'; } catch (Exception $e) { return 'bad_callback'; } } elseif ($request && !$access) { return 'verify_credentials'; } else { $config = array('callbackUrl' => Mage::helper('adminhtml')->getUrl('adminhtml/twitterReader_callback/access'), 'siteUrl' => 'https://api.twitter.com/oauth', 'consumerKey' => $key, 'consumerSecret' => $secret); $token = Mage::helper('twitterreader')->getAccessToken(); if ($token) { $client = $token->getHttpClient($config); $client->setUri('https://api.twitter.com/1.1/application/rate_limit_status.json'); $client->setMethod(Zend_Http_Client::GET); $client->setParameterGet('resources', 'account'); try { $response = $client->request(); $limit = Zend_Json::decode($response->getBody()); $limit = $limit['resources']['account']['/account/verify_credentials']; if ($limit['remaining'] > 0) { $client->setUri('https://api.twitter.com/1.1/account/verify_credentials.json'); $client->setMethod(Zend_Http_Client::GET); $response = $client->request(); $status = Zend_Json::decode($response->getBody()); if (isset($status['errors'])) { return 'bad_verify'; } } elseif ($limit) { $timestamp = Mage::getModel('core/date')->timestamp($limit['reset']); return $timestamp; } else { return 'bad_callback'; } } catch (Exception $e) { return 'bad_verify'; } return 'ready'; } } } return false; }
<?php require_once "config.php"; // $oauthOptions specified in config.php $consumer = new Zend_Oauth_Consumer($oauthOptions); // Request an access token $request_token_string = $consumer->getRequestToken(array('scope' => implode(' ', $SCOPES))); // parse the request token for later use parse_str($request_token_string, $request_token_array); // Open the URL in the users browser for authorisation $approvalUrl = $consumer->getRedirectUrl(array('domain' => $CONSUMER_KEY, 'hd' => 'default', 'location' => 'all', 'granularity' => 'best', 'oauth_callback' => 'oob')); exec("open " . escapeshellarg($approvalUrl)); // Request the authorisation code off the user print 'Enter authorisation code: '; $authcode = fgets(STDIN); // Convert the response into an access token $requestResponse = array('oauth_verifier' => $authcode, 'oauth_token' => $request_token_array['oauth_token']); $accessToken = $consumer->getAccessToken($requestResponse, $request_token_string); // Save the access token so that we can use it later if (!($fp = fopen("token.txt", 'w'))) { die('Error opening file.'); } if (!fwrite($fp, serialize($accessToken))) { die('Error writing data to file'); } fclose($fp);