Пример #1
0
 public function qqlogin()
 {
     $loginconfig = FS("Webconfig/loginconfig");
     require C("APP_ROOT") . "Lib/Oauth/qq2.0/oauth/qq_callback.php";
     //QQ登录成功后的回调地址,主要保存access token
     qq_callback();
     //获取用户标示id
     get_openid();
     //获取用户信息
     $userInfo = get_user_info();
     $map['openid'] = text($_SESSION['openid']);
     //唯一ID
     $map['site'] = 'qq';
     $this->appCk($map, $userInfo->nickname, 'qq');
 }
 public function qq()
 {
     $loginconfig = FS("Webconfig/loginconfig");
     require C("APP_ROOT") . "Lib/Oauth/qq2.0/oauth/qq_callback.php";
     qq_callback();
     //获取用户标示id
     get_openid();
     //获取用户信息
     $userInfo = (array) get_user_info();
     $map['openid'] = text($_SESSION['openid']);
     //唯一ID
     $map['site'] = 'qq';
     $field = array('is_bind' => 1, 'site' => 'qq', 'openid' => $_SESSION['openid'], 'nickname' => $userInfo['nickname'], 'avatar' => $userInfo['figureurl_2'], 'logintimes' => 1, 'bind_uid' => $this->uid, 'logintime' => time(), 'addtime' => time());
     $this->OauthSave($map, $field);
 }
Пример #3
0
 public function qqlogin()
 {
     $loginconfig = FS("Webconfig/loginconfig");
     require C("APP_ROOT") . "Lib/Oauth/qq2.0/oauth/qq_callback.php";
     //QQ登录成功后的回调地址,主要保存access token
     $res = qq_callback();
     if ($res !== true) {
         $this->assign('waitSecond', "5");
         $this->error($res, __ROOT__ . "/");
     }
     //获取用户标示id
     get_openid();
     //获取用户信息
     $userInfo = get_user_info();
     // 		$userInfo->nickname = date("YmdHis");
     $map['openid'] = text($_SESSION['openid']);
     //唯一ID
     $map['site'] = 'qq';
     $this->appCk($map, $userInfo->nickname);
 }
Пример #4
0
        $_SESSION["access_token"] = $params["access_token"];
    } else {
        echo "The state does not match. You may be a victim of CSRF.";
    }
}
function get_openid()
{
    $graph_url = "https://graph.qq.com/oauth2.0/me?access_token=" . $_SESSION['access_token'];
    $str = get_url_contents($graph_url);
    if (strpos($str, "callback") !== false) {
        $lpos = strpos($str, "(");
        $rpos = strrpos($str, ")");
        $str = substr($str, $lpos + 1, $rpos - $lpos - 1);
    }
    $user = json_decode($str);
    if (isset($user->error)) {
        echo "<h3>error:</h3>" . $user->error;
        echo "<h3>msg  :</h3>" . $user->error_description;
        exit;
    }
    //debug
    //echo("Hello " . $user->openid);
    //set openid to session
    $_SESSION["openid"] = $user->openid;
}
//QQ登录成功后的回调地址,主要保存access token
qq_callback();
//获取用户标示id
get_openid();
@header('location: index.php?act=connect');
exit;
Пример #5
0
function get_user_info()
{
    $get_user_info = "https://graph.qq.com/user/get_user_info?" . "access_token=" . $_SESSION['access_token'] . "&oauth_consumer_key=" . $_SESSION["appid"] . "&openid=" . $_SESSION["openid"] . "&format=json";
    $info = get_url_contents($get_user_info);
    $arr = json_decode($info, true);
    return $arr;
}
function get_info()
{
    $get_info = "https://graph.qq.com/user/get_info?" . "access_token=" . $_SESSION['access_token'] . "&oauth_consumer_key=" . $_SESSION["appid"] . "&openid=" . $_SESSION["openid"] . "&format=json";
    $info = get_url_contents($get_info);
    $arr = json_decode($info, true);
    return $arr;
}
//QQ登录成功后的回调地址,主要保存access token
$cb = qq_callback();
//获取用户标示id
get_openid();
$openid = $_SESSION["openid"];
$expires = $timestamp - 20 + $cb["expires_in"];
$_SESSION["expires"] = $expires;
$db_openid = $DBS->fetch_one_array("SELECT `id`,`uid`,`name` FROM `yunbbs_qqweibo` WHERE `openid`='" . $openid . "'");
if ($db_openid && $db_openid['uid']) {
    // 如果微博信息为空尝试获取微博信息
    if (!$db_openid['name'] && strpos(' ' . $_SESSION["scope"], 'get_info')) {
        $user_info = get_info();
        if ($user_info['data']['name']) {
            $oid = $db_openid['id'];
            $name = $user_info['data']['name'];
            $DBM = new DB_MySQL();
            $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname);