Example #1
0
 function showUser($keys = array())
 {
     $qq_user = QQOauth\get_user_info($this->appid, $this->secid, $keys['oauth_token'], $keys['oauth_token_secret'], $keys['openid']);
     if ($qq_user && $qq_user['ret'] == 0) {
         $_keys = DengLuTong::getKeys();
         $user = array('id' => $_keys['openid'], 'name' => $qq_user['nickname'], 'screen_name' => $qq_user['nickname'], 'desc' => '', 'url' => '', 'img' => $qq_user['figureurl_1'], 'gender' => '', 'email' => '', 'location' => '');
         return $user;
     }
     return FALSE;
 }
Example #2
0
 function getAccessToken($args = array())
 {
     if (!empty($args['oauth_token']) && !empty($args['oauth_token_secret'])) {
         $keys = $this->oauth->getAccessToken(array('key' => $args['oauth_token'], 'secret' => $args['oauth_token_secret']));
         if (isset($keys['douban_user_id'])) {
             DengLuTong::setKeys($keys);
             return $keys;
         } else {
             return FALSE;
         }
     }
 }
Example #3
0
 function getAccessToken($args = array())
 {
     if (!empty($args['oauth_token']) && !empty($args['oauth_token_secret'])) {
         $this->oauth = new NetEaseOauth($this->appid, $this->secid, $args['oauth_token'], $args['oauth_token_secret']);
         $keys = $this->oauth->oauth->getAccessToken($args['oauth_token']);
         if (isset($keys['oauth_token'])) {
             DengLuTong::setKeys($keys);
             return $keys;
         } else {
             return FALSE;
         }
     }
 }
Example #4
0
 function getAccessToken($args = array())
 {
     if (!empty($args['oauth_token']) && !empty($args['oauth_token_secret'])) {
         $this->oauth = new TianYaOauth($this->appid, $this->secid, $args['oauth_token'], $args['oauth_token_secret']);
         $keys = $this->oauth->getAccessToken($args['oauth_verifier']);
         if (isset($keys['oauth_token'])) {
             DengLuTong::setKeys($keys);
             return $keys;
         } else {
             Log::getInstance()->tofile(__CLASS__ . ' -> ' . __METHOD__ . "\r\nError : " . serialize($keys));
             return FALSE;
         }
     }
 }
Example #5
0
 function getAccessToken($args = array())
 {
     if (!empty($args['oauth_token']) && !empty($args['oauth_token_secret'])) {
         $this->oauth->token->key = $args['oauth_token'];
         $this->oauth->token->secret = $args['oauth_token_secret'];
         $keys = $this->oauth->getAccessToken($args['oauth_verifier']);
         if (isset($keys['oauth_token'])) {
             DengLuTong::setKeys($keys);
             return $keys;
         } else {
             return FALSE;
         }
     }
 }
Example #6
0
 function getAccessToken($args = array())
 {
     if (!$args['code']) {
         return FALSE;
     }
     $params = array('client_id' => $this->appid, 'client_secret' => $this->secid, 'redirect_uri' => urldecode($this->callback), 'code' => $args['code'], 'grant_type' => 'authorization_code');
     $url = "https://oauth.live.com/token";
     $file = $this->oauth->curl($url, $params);
     $keys = json_decode($file, true);
     if ($keys) {
         DengLuTong::setKeys($keys);
         return $keys;
     } else {
         return FALSE;
     }
 }
Example #7
0
 function getAccessToken($args = array())
 {
     $url = "https://graph.renren.com/oauth/token?client_id=" . $this->appid . "&client_secret=" . $this->secid . "&redirect_uri=" . $this->callback . "&grant_type=authorization_code&code=" . $args['code'];
     $file = $this->file_get_contents($url);
     $json = json_decode($file);
     if ($json) {
         $url = "https://graph.renren.com/renren_api/session_key?oauth_token=" . $json->access_token;
         $file = $this->file_get_contents($url);
         $info = json_decode($file, true);
         if ($info) {
             $keys = array('session_secret' => $info['renren_token']['session_secret'], 'expires_in' => $info['renren_token']['expires_in'], 'session_key' => $info['renren_token']['session_key'], 'oauth_token' => $info['oauth_token'], 'user_id' => $info['user']['id']);
             DengLuTong::setKeys($keys);
             return $info;
         }
         return FALSE;
     } else {
         return FALSE;
     }
 }
Example #8
0
 function getAccessToken($args = array())
 {
     if (isset($_GET['session_key'])) {
         $session_key = $_GET['session_key'];
         setcookie("kx_connect_session_key", $session_key, time() + 3600 * 6);
     } else {
         $session_key = $_COOKIE["kx_connect_session_key"];
     }
     if ($session_key) {
         $keys['session_key'] = $session_key;
         DengLuTong::setKeys($keys);
         return $session_key;
     } else {
         return FALSE;
     }
     //  	$url = "http://www.kaixin001.com/oauth2/token.php";
     //  	$url.="?client_id=" .$this->appid.
     //  	            "&client_secret=" . $this->secid .
     //  	            "&grant_type=authorization_code".
     //  							"&code=".$args['code'].
     //  	            "&redirect_uri=".$this->callback;
     //  	$params=array(
     //    	'client_id'=>$this->appid,
     //    	'client_secret'=>$this->secid,
     //    	'grant_type'=>'authorization_code',
     //    	'code'=>$args['code'],
     //    	'redirect_uri'=>$this->callback,
     //  	);
     //  	$string=$this->buildQuery($params);
     //		$file = $this->file_get_contents ( $url ,FALSE,$string);
     //		$keys = json_decode ( $file,TRUE );
     //		print_r($keys);die;
     //		if($keys)
     //		{
     //			$_SESSION['keys']=$keys;
     //			return $keys;
     //		}else{
     //			return FALSE;
     //		}
 }
Example #9
0
 /**
  * 登录过程
  * @param string $vendor	服务商
  * @param array $args
  */
 function callback($vendor, $args = array())
 {
     $keys = DengLuTong::getKeys();
     $args = array();
     //各服务商返回的参数各不相同,故统一处理。
     !empty($keys['oauth_token_secret']) ? $args['oauth_token_secret'] = $keys['oauth_token_secret'] : '';
     isset($_GET['oauth_token']) ? $args['oauth_token'] = $_GET['oauth_token'] : '';
     isset($_GET['oauth_verifier']) ? $args['oauth_verifier'] = $_GET['oauth_verifier'] : '';
     isset($_GET['openid']) ? $args['openid'] = $_GET['openid'] : '';
     isset($_GET['oauth_vericode']) ? $args['oauth_vericode'] = $_GET['oauth_vericode'] : '';
     isset($_GET['code']) ? $args['code'] = $_GET['code'] : '';
     //    $args=array (
     //          'oauth_token' => isset( $_GET['oauth_token'] ) ? $_GET['oauth_token'] : '' ,
     //          'oauth_token_secret' => !empty($keys['oauth_token_secret'])?$keys['oauth_token_secret']:'',
     //          'oauth_verifier' => isset( $_GET['oauth_verifier'] ) ? $_GET['oauth_verifier'] : '',
     //          'openid' => isset( $_GET['openid'] ) ? $_GET['openid'] : '' ,
     //      		'oauth_vericode' => isset( $_GET['oauth_vericode'] ) ? $_GET['oauth_vericode'] : '' ,
     //      		'code' => isset( $_GET['code'] ) ? $_GET['code'] : '' ,
     //      );
     if ($args) {
         $user = $this->vendor->login($args);
         if ($user) {
             $user['vendor'] = $vendor;
             $this->setUser($user);
         }
         return $user;
     } else {
         return FALSE;
     }
 }
Example #10
0
 /**
  * 保存第三方信息
  * @param string $uid	本地用户ID
  */
 function processBind($uid)
 {
     if (!$uid) {
         return FALSE;
     }
     $user = DengLuTong::getUser();
     $user['dlt_user_id'] = $user['id'];
     unset($user['id']);
     $user['user_id'] = $uid;
     $user['keys'] = serialize(DengLuTong::getKeys());
     $user['name'] = addslashes(trim($user['name']));
     $user['screen_name'] = addslashes(trim($user['screen_name']));
     $user['desc'] = addslashes(trim($user['desc']));
     $lastid = $this->db->insert($this->dbconfig['tablename'], $user);
     if ($lastid) {
         DengLuTong::clearSession();
         $this->success();
     } else {
         $this->error();
     }
 }
Example #11
0
<?php

use DengLuTong\Exception;
use DengLuTong\lib\Config;
use DengLuTong\DengLuTong;
require_once 'DengLuTong/DengLuTong.php';
//require_once 'DengLuTong/DLTConfig.php';
$act = empty($_GET['dltact']) ? 'showBars' : $_GET['dltact'];
$vendor = empty($_GET['vendor']) ? '' : 'Vendor_' . $_GET['vendor'];
$dlt = DengLuTong::getInstance($vendor);
if (!method_exists($dlt, $act)) {
    throw new Exception('Method not exists.');
}
$return = $dlt->{$act}($vendor);
switch ($act) {
    case 'callback':
        echo '<script>window.opener.location.href="' . Config::getInstance()->BaseUrl . '?dltact=bind";window.close();</script>';
        die;
    case 'unbind':
        $url = empty($_GET['url']) ? './' : $_GET['url'];
        header('Location: ' . $url);
        die;
}
Example #12
0
<?php

require_once 'DengLuTong/DengLuTong.php';
use DengLuTong\lib\Db\Db;
use DengLuTong\DengLuTong;
$DLTUser = DengLuTong::getUser();
$dlt = DengLuTong::getInstance();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $name = addslashes($_POST['name']);
    $pass = addslashes($_POST['pass']);
    $email = addslashes($_POST['email']);
    $db = Db::getInstance();
    $sql = "select * from user where user_name='{$name}'";
    $result = $db->select($sql);
    if (!$result) {
        $data['user_name'] = $name;
        $data['pass'] = $pass;
        $data['email'] = $email;
        if ($DLTUser) {
            $data['pass'] = rand(1, 100);
        }
        $uid = $db->insert('user', $data);
        if ($uid) {
            echo '注册成功,请登录';
            //如果第三方用户已登录,先进行本地登录,然后绑定
            if ($DLTUser) {
                if ($dlt->localLogin($uid)) {
                    $dlt->bind();
                }
            }
        } else {
Example #13
0
<?php

require_once 'DengLuTong/DengLuTong.php';
use DengLuTong\DengLuTong;
use DengLuTong\lib\Config;
if (empty($_SESSION['user'])) {
    header('Location: login.php');
    die;
}
DengLuTong::clearSession();
$user = $_SESSION['user'];
echo 'Hi, ' . $user['name'] . ' Welcome.';
$dlt = DengLuTong::getInstance('', 'Local');
$binded = $dlt->getBinded($user['id']);
echo '<div>';
foreach ($binded as $bind) {
    echo '<p>' . $bind['name'] . ':' . ($bind['dlt_user'] ? $bind['dlt_user'] . ' <a href="DLTClient.php?dltact=unbind&vendor=' . $bind['site'] . '">解除绑定</a>' : '<a href="javascript:DLTWinOpen(\'' . Config::getInstance()->LoginUrl . $bind['site'] . '\')">绑定</a>') . '</p>';
}
echo '</div>';
?>
<a href='logout.php'>logout</a>
<script>
function DLTWinOpen(url,id,iWidth,iHeight)
{
	var iTop = (screen.height-30-iHeight)/2; //获得窗口的垂直位置;
	var iLeft = (screen.width-10-iWidth)/2; //获得窗口的水平位置;
	//DLTWin=window.open(url,id,'height='+iHeight+',innerHeight='+iHeight+',width='+iWidth+',innerWidth='+iWidth+',top='+iTop+',left='+iLeft+',toolbar=no,menubar=no,scrollbars=auto,resizeable=no,location=no,status=no');
	//chrome不支持showModalDialog弹出模态窗口
	DLTWin=window.showModalDialog(url,null,"dialogWidth="+iWidth+"px;dialogHeight="+iHeight+"px;dialogTop="+iTop+"px;dialogLeft="+iLeft+"px");
	
}
Example #14
0
    $result = $db->select($sql);
    if (!$result) {
        echo '登录失败';
    } else {
        echo '已登录';
        $_SESSION['user'] = array('id' => $result[0]['id'], 'name' => $result[0]['user_name']);
        //如果第三方网站已登录,则进行绑定
        if (DengLuTong::getUser()) {
            DengLuTong::bind();
        }
        header('Location: index.php');
        die;
    }
}
?>
<form method="post" action="">
name:<input type='text' name='name'>
pass:<input type='text' name='pass'>

<p></p>
<input type="submit" value="submit">
</form>
<?php 
if (!DengLuTong::getUser()) {
    DengLuTong::_showBars();
} else {
    $user = DengLuTong::getUser();
    echo 'Hi, ' . $user['screen_name'] . ' ,如果已有本站帐号请登录,或注册。';
}
?>
<a href='reg.php'>reg</a> &nbsp;<a href='logout.php'>logout</a>