public function getRequestToken() { $oauthConsumer = new Zend_Oauth_Consumer($this->configParams); $token = $oauthConsumer->getRequestToken(); $_SESSION['REQUEST_TOKEN'] = serialize($token); $oauthConsumer->redirect(); }
/** * 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(); }
/** 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(); }
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; }
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(); } } }
/** * 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; }
/** 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'); } }
/** * 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()); }
/** * 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; }
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; } }
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; } } }
/** * 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(); } }
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; }
/** * 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(); }
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); }
/** * @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; } }
$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; } }
/** * request a token * */ public function requestAuthority() { $token = $this->_consumer->getRequestToken(); WeFlex_Session::Set(self::SESSION_REQUEST_TOKEN, serialize($token)); $this->_consumer->redirect(); }
/** 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(); }
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(); }