예제 #1
0
 /**
  * Authenticate the user
  * 
  * @return Zend_Auth_Result
  */
 public function authenticate()
 {
     if (!$this->_consumerKey) {
         $code = Zend_Auth_Result::FAILURE;
         $message = array('A consumer key is required');
         return new Zend_Auth_Result($code, '', $message);
     }
     if (!$this->_consumerSecret) {
         $code = Zend_Auth_Result::FAILURE;
         $message = array('A consumer secret is required');
         return new Zend_Auth_Result($code, '', $message);
     }
     if (!$this->_callbackUrl) {
         $code = Zend_Auth_Result::FAILURE;
         $message = array('A callback URL is required');
         return new Zend_Auth_Result($code, '', $message);
     }
     $oauthConfig = array('callbackUrl' => $this->_callbackUrl, 'siteUrl' => 'http://twitter.com/oauth', 'consumerKey' => $this->_consumerKey, 'consumerSecret' => $this->_consumerSecret);
     require_once 'Zend/Oauth/Consumer.php';
     $consumer = new Zend_Oauth_Consumer($oauthConfig);
     $this->setConsumer($consumer);
     return parent::authenticate();
 }
예제 #2
0
<?php

set_include_path(realpath(dirname(__FILE__) . '/../../library'));
require_once 'Zend/Config.php';
$config = new Zend_Config(require_once 'config.php');
require_once 'Zend/Auth.php';
require_once 'Ja/Auth/Adapter/Oauth.php';
require_once 'Zend/Oauth/Consumer.php';
$options = $config->toArray();
$consumer = new Zend_Oauth_Consumer($options);
$adapter = new Ja_Auth_Adapter_Oauth();
$adapter->setConsumer($consumer);
if (isset($_GET['oauth_token'])) {
    $adapter->setQueryData($_GET);
}
$auth = Zend_Auth::getInstance();
if ($auth->hasIdentity()) {
    header("Location: index.php");
}
$result = $auth->authenticate($adapter);
if ($result->isValid()) {
    header('Location: index.php');
} else {
    echo "Error authenticating: " . implode('<br />', $result->getMessages());
}